public void emailTest(){
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("[email protected]", "Test"));
msg.setRecipient(RecipientType.TO, new InternetAddress("[email protected]", "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
DEBUG:JavaMail版本1.4ea
DEBUG:java.io.FileNotFoundException:/usr/java/jdk1.8.0_144/jre/lib/javamail.providers(无此类文件或目录)
DEBUG:!anyLoaded
调试:未加载资源:/META-INF/javamail.providers
调试:成功加载资源:/META-INF/javamail.default.providers
DEBUG:已加载的提供程序表
DEBUG:按类名列出的提供者:{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]]] >>
DEBUG:按协议列出的提供者:{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。提供商[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
DEBUG:!anyLoaded
调试:未加载资源:/META-INF/javamail.address.map
DEBUG: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]]
DEBUG SMTP:useEhlo true,useAuth false
[调试SMTP:尝试连接到主机“ email-smtp.us-east-1.amazonaws.com”,端口25,isSSL为false
public void emailTest(){Properties properties = new Properties(); properties.put(“ mail.smtp.host”,“ email-smtp.us-east-1.amazonaws.com”); properties.put(“ mail.smtp.port”,587); ...
您使用的是JavaMail的较旧版本;请尽可能更新。
[如果您在AWS中运行JavaMail程序,请注意AWS关于如何使用JavaMail和可以使用的SMTP主机有限制连接至。有关详细信息,请查阅其文档。 (对不起没有链接。)