GAE 接收mail问题
时间:2011-09-14
来源:互联网
用GAE 来接收mail , session不被允许该怎么办?
错误讯息:
javax.mail.Session is a restricted class. Please see the Google App Engine developer's guide for more details.
之前有在网路上找过方法,
他说只要在appengine-web.xml这个档案下贴上<sessions-enabled>true</sessions-enabled>即可,
但我试完重新开启并执行档案后还是不行...
附上程式码
错误讯息:
javax.mail.Session is a restricted class. Please see the Google App Engine developer's guide for more details.
之前有在网路上找过方法,
他说只要在appengine-web.xml这个档案下贴上<sessions-enabled>true</sessions-enabled>即可,
但我试完重新开启并执行档案后还是不行...
附上程式码
1 |
import java.io.IOException; import java.io.UnsupportedEncodingException; import java.security.*; import java.util.Properties; import javax.jdo.PersistenceManager; import javax.mail.*; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeUtility; import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class GmailFetch extends HttpServlet{ public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException { /*Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());*/ final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory"; Properties props = System.getProperties(); props.setProperty("mail.pop3.socketFactory.class", SSL_FACTORY); props.setProperty("mail.pop3.socketFactory.fallback", "false"); props.setProperty("mail.pop3.port", "995"); props.setProperty("mail.pop3.socketFactory.port", "995"); Session session = Session.getDefaultInstance(props,null); URLName urln = new URLName("pop3","pop.gmail.com",995,null, "[email protected]", "xxxx"); try { Store store = session.getStore(urln); Folder inbox = null; try { store.connect(); inbox = store.getFolder("INBOX"); inbox.open(Folder.READ_ONLY); FetchProfile profile = new FetchProfile(); profile.add(FetchProfile.Item.ENVELOPE); Message[] messages = inbox.getMessages(); inbox.fetch(messages, profile); System.out.println("mail number:" + messages.length); for (int i = 0; i < messages.length; i++) { String from = decodeText(messages[i].getFrom()[0].toString()); InternetAddress ia = new InternetAddress(from); String gmail = messages[i].getSubject(); Mail mail = new Mail (gmail); PersistenceManager pm = PMF.get().getPersistenceManager(); try { pm.makePersistent(mail); } finally { pm.close(); } resp.sendRedirect("/barcode.jsp"); System.out.println("FROM:" + ia.getPersonal()+'('+ia.getAddress()+')'); System.out.println("TITLE:" + mail); System.out.println("DATE:" + messages[i].getSentDate()+"\n"); } } finally { try { inbox.close(false); } catch (Exception e) {} try { store.close(); } catch (Exception e) {} } }catch (Exception e) {} } protected static String decodeText(String text) throws UnsupportedEncodingException { if (text == null) return null; if (text.startsWith("=?GB") || text.startsWith("=?gb")) text = MimeUtility.decodeText(text); else text = new String(text.getBytes("ISO8859_1")); return text; } } |
作者: ACS097102 发布时间: 2011-09-14
http://code.google.com/intl/zh-TW/appengine/docs/java/mail/usingjavamail.html
请参考google文件库的内容 注意不支援Javamail的地方
虽然英文版的比较齐全 不过我想这个是不变的...
不支援 JavaMail 功能
应用程式收不到电子邮件讯息
请参考google文件库的内容 注意不支援Javamail的地方
虽然英文版的比较齐全 不过我想这个是不变的...
不支援 JavaMail 功能
应用程式收不到电子邮件讯息
作者: timeguard 发布时间: 2011-09-15
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28