gpt4 book ai didi

java - 卡在 send() 上的共享电子邮件示例

转载 作者:太空宇宙 更新时间:2023-11-04 08:30:41 25 4
gpt4 key购买 nike

我正在尝试获取 this example让 Apache Commons 电子邮件库正常工作。这是我的代码:

    SimpleEmail email = new SimpleEmail();      
email.setHostName("smtp.gmail.com");
email.setSmtpPort(465);
email.setAuthenticator(new DefaultAuthenticator("username@gmail.com", "password"));
email.setTLS(true);
try {
email.setFrom("username@gmail.com");
email.setSubject("TestMail");
email.setMsg("This is a test mail ... :-)");
email.addTo("username@gmail.com");
System.out.println("Sending...");
email.send();
System.out.println("Email sent!");

} catch (Exception e) {
System.out.println("Email not sent!");
e.printStackTrace();
}

正如您所看到的,它与示例中基本没有变化,只是我必须使用端口 465 而不是 587,因为 587 会导致 Connection returned 异常(基于 this question )。现在这段代码卡在 email.send() 行上。我得到的唯一输出是:

Sending...

但没有抛出异常。我需要在防火墙中打开端口吗? (我可能无法做到这一点,因为我正试图在工作中做到这一点)。谢谢!

编辑

很长一段时间后,我得到了这个异常:

org.apache.commons.mail.EmailException: Sending the email to the following server failed : smtp.gmail.com:465
...
Caused by: javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 465, response: -1

最佳答案

根据您的编辑和对我的评论的回答,您不应该在 Java 代码中查找问题,而应该在防火墙或网络配置中查找问题。

关于java - 卡在 send() 上的共享电子邮件示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7598650/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com