当前位置: 首页 > 知识库问答 >
问题:

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

公羊英达
2023-03-14

公共测试(){

    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。太阳邮件javax。邮件1.5.2已提供

调试:JavaMail 1.4ea版

DEBUG:java.io.FileNotFound异常: /usr/java/jdk1.8.0_144/jre/lib/javamail.providers(没有这样的文件或目录)

调试:!任意加载

调试:未加载资源:/META-INF/javamail。提供者

调试:成功加载资源: /META-INF/javamail.default.providers

调试:加载的提供程序表

调试:按类名列出的提供程序:{com.sun.mail.smtpsslttransport=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.smtpsslttransport,sun Microsystems,Inc],com.sun.mail.smtp.SMTPTransport=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.SMTPTransport,sun Microsystems,Inc],com.sun.mail.imapssltore=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,sun Microsystems,Inc],com。太阳邮政pop3。pop3sslsstore=javax。邮政供应商[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,sun Microsystems,Inc],com。太阳邮政imap。IMAPStore=javax。邮政供应商[STORE,imap,com.sun.mail.imap.IMAPStore,sun Microsystems,Inc],com。太阳邮政pop3。POP3Store=javax。邮政提供商[STORE,pop3,com.sun.mail.pop3.POP3Store,sun Microsystems,Inc]]

DEBUG:按协议列出的提供商:{imap=javax.mail.提供商[STORE,imap,com.sun.mail.imap.IMAPSSLStore,Sun微系统公司],imap=javax.mail.提供商[STORE,imap,com.sun.mail.imap.IMAPStore,Sun微系统公司],smtps=javax.mail.提供商[TRANSPORT, smtps,com.sun.mail.smtp.SMTPSSLCommunications, Sun Microsystem, Inc], pop3=javax.mail.提供商[STORE, pop3,com.sun.mail.pop3.太阳微系统公司的POP3Store,pop3s=javax.mail.提供商[商店,pop3s,com.sun.mail.pop3。POP3SSLStore, Sun MicroSystems, Inc], smtp=javax.mail.提供商[TRANSPORT, smtp,com.sun.mail.smtp.SMTPTrants, Sun Microsystem, Inc]}

调试:成功加载资源: /META-INF/javamail.default.address.map

调试:!任意加载

调试:未加载资源:/META-INF/javamail。住址地图

DEBUG:java.io.FileNotFound异常: /usr/java/jdk1.8.0_144/jre/lib/javamail.address.map(没有这样的文件或目录)

调试:getProvider()返回javax。邮政提供商[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,sun Microsystems,Inc]

调试SMTP:useEhlo true,useAuth false

调试SMTP:尝试连接到主机"email-smtp.us-east-1.amazonaws.com",端口25, isSSL false

共有1个答案

诸新霁
2023-03-14

您使用的是一个古老版本的JavaMail;如果可能,请更新。

如果您在AWS中运行JavaMail程序,请注意AWS对如何使用JavaMail以及可以连接到哪个SMTP主机有限制。有关详细信息,请查阅他们的文档。(对不起,我没有链接。)

如果您在AWS之外运行,请参阅JavaMail常见问题解答,了解调试连接问题的提示。很可能你在防火墙后面,阻止你直接连接。

 类似资料:
  • 在发送邮件时,我遇到了这个错误 java.lang.RuntimeException:javax.mail.SendFailedException:发送失败;嵌套异常为:类javax.mail.MessagingException:无法连接到SMTP主机:SMTP.gmail.com,端口:465,响应:-1 我的代码是:

  • 当我从服务器发送电子邮件时,它会给我两个错误- SMTP错误:无法连接到SMTP主机。无法发送邮件。邮件错误:SMTP错误:无法连接到SMTP主机。 我在另一个关于堆栈溢出的答案上找到了很多提示,但都不起作用。我试过465/587/65号端口。如果我设置端口587,下面的代码在本地系统上也能正常工作。但在服务器中,它不起作用。

  • 我正在处理一封使用phpmailer类的Web邮件。问题是我收到错误“SMTP错误:无法连接到SMTP主机。邮件未发送PHP邮件错误:SMTP错误:无法连接到SMTP主机。” 我的代码是: 有人想让我知道我错在哪里,我需要你对这个问题的关注。

  • 这是我用来发送电子邮件的代码: javax.mail.MessagingException:无法连接到SMTP主机:SMTP.gmail.com,端口:465; 嵌套异常为: java.net.connectException:连接被拒绝 在com.sun.mail.SMTP.smtpransport.openserver(smtpransport.java:1961) 在com.sun.mail

  • 我需要使用Gmail作为SMTP服务器从我的应用程序发送电子邮件。这是我的邮件连接器类,我在一个单独的属性文件中设置了值 属性: 然后我实现了一个邮件发送者类,名为“GroupEmail.class” 毕竟,我在需要触发要发送的电子邮件的地方调用了“GroupEmail.class”。 我在localhost使用Tomcat v8服务器,当应用程序工作时,我得到了以下异常。

  • SMTP错误:无法连接到SMTP主机。无法发送消息。 邮件程序错误:SMTP错误:无法连接到SMTP主机。 我似乎找不到让PHPMailer在CentOS下工作的方法。邮件在XAMPP的Windows下工作正常,但我总是在Linux下遇到这个错误。 SMTP服务器是一个在端口25上侦听的Lotus Domino,CentOS机器根本没有防火墙,奇怪的是,即使是mail()也不能工作。它不返回任何内