Postfix 通过特定接口将出站电子邮件路由到域

Postfix 通过特定接口将出站电子邮件路由到域

由于服务器受到攻击,目前 outlook.com/live.com 已被列入黑名单,为了恢复电子邮件服务,我正在尝试配置 Postfix,以通过特定 IP 地址 2.2.2.2 为 outlook.com/live.com 传递任何收到的电子邮件,Postfix 仍将监听 1.1.1.1 端口 25 上的连接

到目前为止我已经创建了以下内容

主配置文件

sender_dependent_default_transport_maps = hash:/etc/postfix/sdd_transport.pcre

sdd_传输.pcre

@outlook.com 微软 smtp

主配置文件

microsoft-smtp unix - - n - - smtp -o smtp_bind_address=XX.XX.XXX.XX -o smtp_helo_name=mx.XXXXXXXX.com -o syslog_name=/var/log/mail.log.microsoft

根据其他指南,这一切看起来都很好,但是连接到 2.2.2.2 不会返回正确的 smtp_helo 名称,并且没有文件写入 /var/log

我是否遗漏了什么?

答案1

我认为您的设置不是您想要的,但您现在的问题是由于测试方法不充分而无法确认您的设置。

建议:通过添加第二个条目,用实际邮件测试您的设置 -一个用于接收你的邮件的域名,无论使用哪个 IP- 到您的传输图,然后调查收到的邮件中的Received:标题以确认您的设置。

-o smtp_bind_address=2.2.2.2

连接到 2.2.2.2 未返回正确的 smtp_helo 名称

只是因为你告诉 postfix 在充当 smtp 时绑定到某个 IP客户并不意味着它会以单独的 smtp 方式监听该 IP 上的传入连接服务器(“smtpd”)。您的 smtpd 监听所有接口并在该辅助 IP 上宣布其主机名,这不一定与使用不同 helo 的传出 smtp 连接冲突。

syslog_name=/var/log/mail.log.microsoft

没有文件写入 /var/log

并且,在典型的 syslog 配置中不应创建任何附加文件。它不是路径,只是要添加到生成的日志行中的注释 - 这些日志行最终仍位于同一文件中。文档中写道:

syslog_name

在系统日志记录中,添加到进程名称前的前缀,例如,“smtpd”变为“prefix/smtpd”。

相关内容