SMTPSendFailedException: 530 5.7.0 Must issue a STARTTLS command first
最重要的問題是在他的SMTPSendFailedException: 530 5.7.0 Must issue a STARTTLS command first
錯誤, 要在System.Properties進行宣告如下:
最重要的問題是在他的SMTPSendFailedException: 530 5.7.0 Must issue a STARTTLS command first
錯誤, 要在System.Properties進行宣告如下:
复制内容到剪贴板 程序代码
props.put("mail.transport.protocol", "smtp"); //之前没加
props.put("mail.smtp.starttls.enable","true"); //之前没加
props.put("mail.smtp.host", "gmail-smtp.l.google.com");
props.put("mail.smtp.starttls.enable","true"); //之前没加
props.put("mail.smtp.host", "gmail-smtp.l.google.com");
Tags: javamail
在浪潮的时候公司有人写工作日报的时候用java实现了自动发邮件功能,公司的人都称他为才子。当时也觉得他很了不起得,现在才知道,原来用java实现发邮件功能是如此简单。
java实现发邮件的功能是用j2ee技术javamail实现的。其实程序很简单,只有几十行的程序。最困难的反而是实现smtp服务器的设置,这和程序无关,而要在本机上设置。结果我在这一项上让我大费了一番周折。
我的是yahoo邮箱,刚开始老是提示出错。在网上查的时候有的人说是因为yahoo邮箱不支持pop3功能。至于什么是pop3功能,大家可以到网上自己看下,大概就是说要实现outlook、foxmail这样的桌面程序来接发邮件就得用到pop3功能。没办法,只能申请了个126邮箱,结果一用还是不行,又到网上查,却有人说老的126的邮箱支持pop功能,去年之后的126邮箱不支持。还有些人说要一个月以后或者说积分达到一定值才可以实现,总之就是不行,真气死我了。又申请了个163邮箱,一用还是不行,仍然不支持pop功能。昨天搞了一下午仍然不行。今天仍然不死心,继续在网上查解决方法,总算有好心人给出了yahoo邮箱的解决方法。把网上别人介绍的方法贴在这:
1. 在IE地址栏中直接输人
http://edit.my.yahoo.com/config/set_popfwd?.src=ym,进人到YAHOO!“网上直投”的页面。
java实现发邮件的功能是用j2ee技术javamail实现的。其实程序很简单,只有几十行的程序。最困难的反而是实现smtp服务器的设置,这和程序无关,而要在本机上设置。结果我在这一项上让我大费了一番周折。
我的是yahoo邮箱,刚开始老是提示出错。在网上查的时候有的人说是因为yahoo邮箱不支持pop3功能。至于什么是pop3功能,大家可以到网上自己看下,大概就是说要实现outlook、foxmail这样的桌面程序来接发邮件就得用到pop3功能。没办法,只能申请了个126邮箱,结果一用还是不行,又到网上查,却有人说老的126的邮箱支持pop功能,去年之后的126邮箱不支持。还有些人说要一个月以后或者说积分达到一定值才可以实现,总之就是不行,真气死我了。又申请了个163邮箱,一用还是不行,仍然不支持pop功能。昨天搞了一下午仍然不行。今天仍然不死心,继续在网上查解决方法,总算有好心人给出了yahoo邮箱的解决方法。把网上别人介绍的方法贴在这:
1. 在IE地址栏中直接输人
http://edit.my.yahoo.com/config/set_popfwd?.src=ym,进人到YAHOO!“网上直投”的页面。
Tags: javamail
如果你用myEclipse进行开发的话,运行时可能会出现以下的错误:
Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream
原因是jar包版本不统一,解决方法如下:
删除Java EE 5 Libraries/javaee.jar/mail里的包有东西.
具体方法如下:
用rar打开X:/Program Files/MyEclipse 6.0/myeclipse/eclipse/plugins/com.genuitec.eclipse.j2eedt.core_6.0.1.zmyeclipse601200710/data/libraryset/EE_5/javaee.jar
,然后删除mail,一切就ok了.
Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream
原因是jar包版本不统一,解决方法如下:
删除Java EE 5 Libraries/javaee.jar/mail里的包有东西.
具体方法如下:
用rar打开X:/Program Files/MyEclipse 6.0/myeclipse/eclipse/plugins/com.genuitec.eclipse.j2eedt.core_6.0.1.zmyeclipse601200710/data/libraryset/EE_5/javaee.jar
,然后删除mail,一切就ok了.
SMTP:简单邮件传输协议(Simple Mail Transfer Protocol,SMTP)由RFC821定义,它定义了发送邮件的机制,在JavaMail环境中,基于JavaMail的程序将和因特网服务供应商ISP(internet Service Provider ’ s)SMTP服务器通信.SMTP服务器会中转消息给接收方SMTP服务器以便最终让用户经由POP或者IMAP获得.
POP:代表邮局协议(Post Office Protocol).目前的版本是3.所以一般都称之为POP3.这个协议是由RFC1939定义的.POP是一种机制,因特网上多大数用户用它得到邮件.它规定每个用户一个邮箱的支持.使用POP协议的时候,用户的许多性能并不是由POP协议支持的,如查看几封新邮件消息这个功能,这些功能内建在如Eudora或MicrosoftOutlook之类的程序中,它们记住一些事.所以在用JavaMail的时候,如果你想要这些信息,你就必须自己算了.
IMAP:是更高级的用户接收消息的协议,被定义在RFC2060中,IMAP代表因特网消息访问协议(Internet Message Access Protocol),目前用的版本是4,所以也叫做IMAP4.在用到IMAP的时候,邮件服务器必须支持这个协议,不能仅仅把使用POP的程序用于IMAP,并指望它支持IMAP所有性能.
MIME:是因特网邮件扩展标准(Multipurpose Internet Mail Extensions).它不是邮件传输协议,但是对于传输的内容的消息,附件以及其他的内容定义了格式.可以理解成一个定义合适的标准.
NNTP:因为JavaMail将供应商和所有其它的东西分开了,您就能轻松添加额外的协议支持.NNTP 就是网络新闻传输协议.
POP:代表邮局协议(Post Office Protocol).目前的版本是3.所以一般都称之为POP3.这个协议是由RFC1939定义的.POP是一种机制,因特网上多大数用户用它得到邮件.它规定每个用户一个邮箱的支持.使用POP协议的时候,用户的许多性能并不是由POP协议支持的,如查看几封新邮件消息这个功能,这些功能内建在如Eudora或MicrosoftOutlook之类的程序中,它们记住一些事.所以在用JavaMail的时候,如果你想要这些信息,你就必须自己算了.
IMAP:是更高级的用户接收消息的协议,被定义在RFC2060中,IMAP代表因特网消息访问协议(Internet Message Access Protocol),目前用的版本是4,所以也叫做IMAP4.在用到IMAP的时候,邮件服务器必须支持这个协议,不能仅仅把使用POP的程序用于IMAP,并指望它支持IMAP所有性能.
MIME:是因特网邮件扩展标准(Multipurpose Internet Mail Extensions).它不是邮件传输协议,但是对于传输的内容的消息,附件以及其他的内容定义了格式.可以理解成一个定义合适的标准.
NNTP:因为JavaMail将供应商和所有其它的东西分开了,您就能轻松添加额外的协议支持.NNTP 就是网络新闻传输协议.
Tags: javamail