主要原因是邮件客户端连接异常:
一、IP地址连接异常;
二、用户名密码错误。
可根据自己使用情况按照出现的原因调整一下即可正常使用。
JavaMail,顾名思义,提供给开发者处理电子邮件相关的编程接口。它是Sun发布的用来处理email的API。它可以方便地执行一些常用的邮件传输。我们可以基于JavaMail开发出类似于Microsoft Outlook的应用程序。
当javamail使用smtp服务发送邮件时,当你把邮件发送到smtp服务器的时候,你只能得到已经发送到smtp的队列中的状态,但是邮件服务器是否能发送成功,你是得不到的。就是说,你不能保证邮件发送一定成功。 这就取决于SMTP协议的内容传输了。
但是SMTP协议如果传输失败,是会报错的。SMTP由TCP提供的可靠的数据传输服务把邮件消息从发信人的邮件服务器传送到收信人的邮件服务器。
所以我们可以认为当我们调用JavaMail发送邮件时,如果程序没有报错则表示邮件发送成功。
SMTP通常有两种工作模式:发送SMTP和接收SMTP。
具体工作方式为:发送SMTP在接到用户的邮件请求后,判断此邮件是否为本地邮件,若是直接投送到用户的邮箱,否则向dns查询远端邮件服务器的 MX纪录,并建立与远端接收SMTP之间的一个双向传送通道,此后SMTP命令由发送SMTP发出,由接收SMTP接收,而应答则反方面传送。一旦传送通 道建立,SMTP发送者发送MAIL命令指明邮件发送者。如果SMTP接收者可以接收邮件则返回OK应答。SMTP发送者再发出RCPT命令确认邮件是否 接收到。如果SMTP接收者接收,则返回OK应答;如果不能接收到,则发出拒绝接收应答(但不中止整个邮件 *** 作),双方将如此重复多次。当接收者收到全部 邮件后会接收到特别的序列,如果接收者成功处理了邮件,则返回OK应答即可。
javaxmailMessagingException: Can't send command to SMTP host;上述异常的出现是因为发送邮件的服务器连接不上,
你确定你sina 邮箱开通了smtp 服务。
我记得新浪邮箱是要自己手工开通
使用pop3j协议尝试以下,看可能好使不
这个报错是认证失败了,可能用户名密码出错。
认证失败,还可能是连续的访问,被邮件服务器拒绝了,过一会在尝试。
QQ邮箱 POP3 和 SMTP 服务器地址设置如下:
POP3服务器(端口110)popqqcom
SMTP服务器(端口25) smtpqqcom
SMTP服务器需要身份验证。
如果是设置POP3和SMTP的SSL加密方式,则端口如下:
imap服务器(端口993)
POP3服务器(端口995)
SMTP服务器(端口465或587)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)