[英]Sending mail error, javax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 25;
[英]javax.mail.MessagingException: Could not connect to SMTP host: email-smtp.us-east-1.amazonaws.com, port: 25;
公共无效电子邮件测试(){
Properties properties=new Properties();
properties.put("mail.smtp.host", "email-smtp.us-east-1.amazonaws.com");
properties.put("mail.smtp.port", 587);
properties.put("mail.debug", "true");
try{
Session session=Session.getInstance(properties);
Message msg=new MimeMessage(session);
msg.setFrom(new InternetAddress("test@gmail.com", "Test"));
msg.setRecipient(RecipientType.TO, new InternetAddress("test@gmail.com", "Test"));
msg.setSubject("Test Subject");
msg.setText("Test Mail");
msg.saveChanges();
Transport transport=session.getTransport("smtp");
transport.connect("username","password");
transport.sendMessage(msg, msg.getAllRecipients());
transport.close();
}catch(Exception e){
e.printStackTrace();
}
}
POM:com.sun.mail javax.mail 1.5.2 提供
调试:JavaMail 版本 1.4ea
调试:java.io.FileNotFoundException:/usr/java/jdk1.8.0_144/jre/lib/javamail.providers(没有这样的文件或目录)
调试:!anyLoaded
调试:未加载资源:/META-INF/javamail.providers
调试:成功加载资源:/META-INF/javamail.default.providers
调试:已加载提供程序的表
调试:按类名称列出的提供程序:{com.sun.mail.smtp.SMTPSSLTransport=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc], com.sun.mail .smtp.SMTPTransport=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc], com.sun.mail.imap.IMAPSSLStore=javax.mail.Provider[STORE,imaps ,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc], com.sun.mail.pop3.POP3SSLStore=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc], com.sun.mail.imap.IMAPStore=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], com.sun.mail.pop3.POP3Store=javax .mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc]}
调试:按协议列出的提供程序:{imaps=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc], imap=javax.mail.Provider[STORE,imap,com. sun.mail.imap.IMAPStore,Sun Microsystems, Inc], smtps=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc], pop3=javax.mail.Provider[ STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc], pop3s=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc], smtp= javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]}
调试:成功加载资源:/META-INF/javamail.default.address.map
调试:!anyLoaded
调试:未加载资源:/META-INF/javamail.address.map
调试:java.io.FileNotFoundException:/usr/java/jdk1.8.0_144/jre/lib/javamail.address.map(没有那个文件或目录)
调试:getProvider() 返回 javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]
调试 SMTP:useEhlo 真,useAuth 假
调试 SMTP:尝试连接到主机“email-smtp.us-east-1.amazonaws.com”,端口 25,isSSL false
您正在使用 JavaMail 的旧版本; 如果可能,请更新。
如果您在 AWS 中运行 JavaMail 程序,请注意 AWS 对您使用 JavaMail 的方式以及您可以连接到的 SMTP 主机有限制。 有关详细信息,请参阅他们的文档。 (对不起,我没有链接。)
如果您在 AWS 之外运行,请参阅 JavaMail 常见问题以获取有关调试连接问题的提示。 很可能您位于防火墙后面,阻止您直接连接。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.