Java:关于apache commons邮件的问题

Java:关于apache commons邮件的问题,java,email,smtp,apache-commons-email,hmail-server,Java,Email,Smtp,Apache Commons Email,Hmail Server,我正在尝试使用Apache commons电子邮件API发送电子邮件 我安装了hMailServer作为smtp服务器,并创建了一个域test.com。我添加了一个用户“user1” 我试图用下面的代码发送邮件 public static void sendSimpleMail() throws Exception { Email email = new SimpleEmail(); email.setSmtpPort(25); email.setDebug(fals

我正在尝试使用Apache commons电子邮件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分钟了,但我的收件箱里还没有收到邮件

我有什么遗漏吗?是否由于网络问题而导致延迟

更新:

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

我想问题可能是出站端口


有人能帮我找出哪里出了问题吗?

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


我最好的猜测是您的ISP(或本地防火墙)正在阻止出站端口25。另外,一定要检查gmail上的垃圾邮件文件夹。

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


顺便说一句,除非您有一些主机文件条目,否则使用“test.com”的第二个失败的测试将永远无法工作。使用真正的邮件服务器

您是否测试过您的邮件服务器是否可以发送任何电子邮件,并且目标地址是否正确?AFAIK如果出现反弹或类似情况,它不会返回错误。在您添加的诊断中,第一个错误指示无法解析“hostname mail.hmailserver.com”。这听起来像是DNS查找问题,因此您可能会遇到更基本的问题。如果转到命令提示符,是否可以“ping mail.hmailserver.com”?无论ping是否工作,它都应该指明mail.hmailserver.com的IP地址。(该名称当前解析为“83.169.11.240”)“Ping请求找不到host mail.hmailserver.com。请检查名称,然后重试”。我们如何修复它?听起来好像您的工作站没有配置DNS名称服务器。如果这是真的,那么我假设你也不能从那个工作站在Internet Explorer中浏览Internet,对吗?如果是这样,您需要配置DNS或静态映射所有IP(在主机文件中),您可以将电子邮件发送到这些IP。我可以从我的工作站浏览internet。