javax.mail.MessagingException:无法连接到SMTP主机:email-smtp.us-east-1.amazonaws.com,端口:25;

问题描述 投票:0回答:1

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); ...

java email liferay javamail liferay-7
1个回答
0
投票

您使用的是JavaMail的较旧版本;请尽可能更新。

[如果您在AWS中运行JavaMail程序,请注意AWS关于如何使用JavaMail和可以使用的SMTP主机有限制连接至。有关详细信息,请查阅其文档。 (对不起没有链接。)

© www.soinside.com 2019 - 2024. All rights reserved.