我对 smtp 很陌生,正在寻找一些东西来处理当前的情况:
我有几台服务器运行着非常老旧的软件(音乐自动化),它们都需要每天通过电子邮件汇报。不幸的是,该软件只能处理未经身份验证的 smtp,因此它们无法使用需要密码的 smtp 服务器。此外,它们都不在静态 IP 上,因此我也无法将它们列入白名单。
这就是我想要实现的事情...
假设其中一台服务器将通过电子邮件发送来自[电子邮件保护].报告将发送至[电子邮件保护]这将是转发到我的真实电子邮件地址的别名。
问题是:有办法实现这一点吗?我需要一个允许无需身份验证即可发送电子邮件的 smtp 服务器,但我不想要开放中继。只需要允许向同一域 foo.com 内的帐户和别名发送电子邮件的服务器。
smtp 有这个设置吗?有软件提供这个功能吗?我一直在想写一个程序/脚本来解决这个问题,但我甚至不知道从哪里开始。任何想法都将不胜感激。
顺便说一下,这将在 wiredtree.com 的 VPS 上运行。
谢谢你!
答案1
您可以设置一个小型 SMTP 守护进程(每个服务器一个),并告诉音乐守护进程其 SMTP 服务器是“localhost”。
守护进程将绑定并仅监听 127.0.0.1,然后使用常规身份验证将出站电子邮件发送到其智能主机:
MusicDaemon --> unauthenticated --> local SMTP daemon --> authenticated --> real SMTP
你可以自己编写这样的守护进程 -需要一些 Python- 或者您可以查看以下其中一个有多种可能性。
更新
如果你可以在 SMTP 服务器上做任何事情,为什么不打开它并/或告诉它处理 yourdomain.com 域呢?这样,服务器就不需要身份验证了对于发往该域名的邮件,同时继续对发往其他地方的电子邮件进行封闭中继(即需要身份验证)。
您可以添加某种过滤功能来拒绝所有未经身份验证的入站电子邮件除了那些与报告相关的内容。但是,这应该不是必要的。