Java:有关apache commons邮件的问题

时间:2011-08-02 11:42:09

标签: java email smtp apache-commons-email hmail-server

我正在尝试使用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!");
}

当我的程序运行时,它会打印," Mail sent!"。但它已经有大约30分钟了,但我的收件箱里还没有收到邮件。

我有什么遗失的吗?是否因网络问题而延迟?

更新

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

enter image description here

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

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

2 个答案:

答案 0 :(得分:0)

可能存在许多问题。由于您没有在Java代码中获得异常,因此很可能电子邮件已经到达了您的hMailServer实例,但还没有超过它。 documentation for hMailServer包含许多问题排查建议。

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

答案 1 :(得分:0)

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

除非你有一些HOSTS文件,否则用“test.com”进行的第二次失败测试将永远不会起作用。使用真实的邮件服务器