一种转发或拦截smtp邮件请求到localhost的方法?

时间:2013-11-25 17:35:55

标签: email dns smtp javamail

想知道在更改DNS主机后我们是否在“localhost”上为失败的smtp邮件提供了选项。

问题设置如下:

  • 正在从服务器发送SMTP邮件,并在服务器本身上配置邮件。最初,服务器是DNS域以及Web应用程序的主机。
  • 使用JavaMail,请求将发送到“localhost”而不进行任何身份验证
  • DNS设置已更改,服务器托管网络应用不再是“来自”电子邮件地址
  • 无法修改Java Web应用程序并仍在发送到“localhost”

问题:我们有任何选择吗?

我想拦截“localhost”smtp邮件请求并使用新凭据将其转发到我们域的邮件服务器,但我不确定是否可以。一个独立的脚本来监视这些请求?

我们确实收到了在新主机上编辑我们的DNS设置并添加“MX”和“A”记录的建议,但这需要更改源代码,目前这不是一个选项。

谢谢!

1 个答案:

答案 0 :(得分:0)

如果本地主机上没有运行SMTP服务器,并且您只想将邮件重定向到另一个没有身份验证的邮件服务器,则可以使用类似“netcat”程序的简单“代理/隧道”。

如果在localhost上运行SMTP服务器,您可以将其配置为将所有邮件转发到其他邮件服务器。

否则,是否可以在不更改源代码的情况下更改Web应用程序中JavaMail使用的属性?例如,属性是来自文件还是来自System.getProperties()?