我正在尝试使用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分钟了,但我的收件箱里还没有收到邮件。
我有什么遗失的吗?是否因网络问题而延迟?
更新
我运行了诊断程序,我得到了以下详细信息。
我认为问题可能在于出站端口。
有谁能帮我弄清楚出了什么问题?
答案 0 :(得分:0)
可能存在许多问题。由于您没有在Java代码中获得异常,因此很可能电子邮件已经到达了您的hMailServer实例,但还没有超过它。 documentation for hMailServer包含许多问题排查建议。
我最好的猜测是您的ISP(或您的本地防火墙)阻止了出站端口25.另外,请务必检查Gmail上的垃圾邮件文件夹。
答案 1 :(得分:0)
好好看看错误:“mail.hmailserver.com无法解析”(未找到AKA)。你确定这是正确的地址吗?你确定那里有邮件服务器吗?
除非你有一些HOSTS文件,否则用“test.com”进行的第二次失败测试将永远不会起作用。使用真实的邮件服务器