所以我有 4 台应用程序服务器,每台服务器都直接连接到 SMTP 服务器以发送电子邮件。我想要的是在我的服务器连接的中间有一些东西,而中间件(?)将把我的电子邮件推送到 SMTP 服务器。所以这个 SMTP 服务器只会看到来自一个而不是 4 个来源的电子邮件。
我不熟悉这种事情是如何工作的,但听起来我需要创建自己的 SMTP 服务器来接受传入的请求并将它们发送到主 SMTP?
我只需要一些非常轻量级和基本的东西,因为它只是访问它的这些服务器,它只会具有中继这些电子邮件的功能。任何让我朝着正确方向前进的帮助将不胜感激。
更新
感谢您的更正,因为我正在寻找的是电子邮件中继。虽然我使用了“代理”这个工作,但我错误地没有解释清楚,这是有原因的。
我想要的是新中继来承担电子邮件发件人的角色。使用 Web 代理,用户 IP 被隐藏,流量看起来好像来自代理 IP。这就是我想要的电子邮件中继。我的中继 IP 应该是发件人,而不是应用程序服务器,因为它们应该被隐藏。
因此,无论哪个应用程序服务器发送电子邮件,发件人 IP 都应始终显示为我设置的中继。那可能吗?
小智 5
我(还)不能发表评论,所以我会尽量按照我理解这个问题的方式来回答。
您似乎想在 4 个应用程序服务器和“最终”SMTP 服务器之间放置一个中继SMTP 服务器。
如果我理解正确并且您使用的是 Linux,我建议您使用配置为 4 个应用服务器的中继的postfix。
安装后,postfix 在其主配置文件(通常为/etc/postfix/main.cf)中提供了大量配置选项,但您对以下内容非常感兴趣:
relayhost = <smtp_out_server>
smtpd_client_restrictions = <IPs from your appservers> # only they can connect!
Run Code Online (Sandbox Code Playgroud)
查看其余部分main.cf以确保配置合理(当我做了类似的工作时,小流量的所有默认设置都可以),你应该很高兴。
如果您的中继主机需要用户/密码身份验证,那么您将需要配置 SASL 身份验证。在这种情况下,请执行以下附加步骤:
1)确保sasl2和sasl2-plug-plain安装包(通常是)
2)/etc/postfix/sasl_passwd使用以下信息设置一个文件:(
<smtp_server> <smtp_user>:<password> 注意行与行其余部分之间的空格)
3)chmod 600 sasl_passwd使其尽可能安全;
4)运行postmap hash:/etc/postfix/sasl_passwd生成密码图;
5)添加以下内容 main.cf
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options =
Run Code Online (Sandbox Code Playgroud)
6)重新加载后缀 service postfix reload
......你应该很高兴(再次)。
希望这可以帮助,
更新
如果我正确理解了您的更新,那么您想要做的是由另一个 SF 问题回答:从 postfix 中删除/隐藏客户端发件人 ip?
哈。
您已经在使用中继服务器。
您现有的配置使用单个 SMTP 服务器代表应用程序服务器将电子邮件中继到收件人电子邮件服务器(而不是应用程序服务器直接将电子邮件发送到收件人电子邮件服务器)。为什么要在组合中添加额外的中继服务器?
使用您提出的解决方案,您的新中继服务器将接受来自应用程序服务器的电子邮件,然后将它们中继到现有的中继服务器,然后再将它们中继到目标收件人的电子邮件服务器。