0

我正在尝试使用 Apache commons Email API 发送电子邮件。

我安装了 hMailServer 作为我的 smtp 服务器并创建了一个域 test.com。我添加了一个用户 'user1' 。

我尝试使用以下代码发送邮件

  public static void sendSimpleMail() throws Exception {
    Email email = new SimpleEmail();
    email.setSmtpPort(25);
    email.setDebug(false);
    email.setHostName("localhost");
    email.setFrom("user1@test.com");
    email.setSubject("Hi");
    email.setMsg("This is a test mail ... :-)");
    email.addTo("abc@gmail.com");
    email.setTLS(true);
    email.send();
    System.out.println("Mail sent!");
}

当我的程序运行时,它会打印“邮件已发送!”。但是已经过去了大约 30 分钟,但我的收件箱中还没有收到邮件。

有什么我想念的吗?会不会因为网络问题而延迟?

更新:

我运行了诊断程序,得到了以下详细信息。

在此处输入图像描述

我认为问题可能出在出站端口上。

谁能帮我弄清楚出了什么问题?

4

2 回答 2

0

可能会有很多问题。由于您的 Java 代码中没有出现异常,因此电子邮件很可能已到达您的 hMailServer 实例,但还没有通过。hMailServer的文档包括许多故障排除建议。

我最好的猜测是您的 ISP(或您的本地防火墙)阻止了出站端口 25。此外,请务必检查您在 gmail 上的垃圾邮件文件夹。

于 2011-08-02T11:53:43.970 回答
0

好吧,看看错误:“mail.hmailserver.com 无法解析”(AKA 未找到)。你确定这是正确的地址吗?你确定那里有邮件服务器吗?

顺便说一句,除非您有一些 HOSTS 文件输入,否则使用“test.com”进行的第二次失败测试将永远无法工作。使用真实的邮件服务器

于 2011-08-02T12:56:44.717 回答