Postfix:根据发件人:邮件头而不是信封发件人选择中继主机


9

我已经成功地将Postfix设置为使用SASL和sender_dependent_relayhost_mapsMySQL表通过Mandrill中继电子邮件,以便不同的发件人使用自己的Mandrill用户名和API密钥连接到Mandrill。

到目前为止,还不错,但是我有三个用户都使用电子邮件服务提供商,并且所有三个用户的邮件信封中的“发件人”都设置为“ mailer@infusionmail.com”,并且唯一包含实际用户电子邮件的位置地址在发件人:电子邮件标题中

我对使用“ 发件人:”电子邮件标头的安全性(或缺乏安全性)感到满意,因为我仅将发送的邮件转发到受到严格控制的特定电子邮件地址,但是我非常感谢能提供有关我的建议最好根据From:标头的值指定中继主机。有什么方法可以将信封值设置为与“发件人”字段相同?或任何其他方式做到这一点?


这三个用户是否使用了相同的SASL凭证?
masegaloeh's

不,他们每个人都有不同的SASL凭证。当他们直接从其邮件客户端发送邮件时,它会根据其发送地址正确识别其邮件中继和SASL凭据。Infusionmail.com ESP的使用使现阶段无法基于发件人执行相同的查找,因为发件人是相同的,只是发件人:电子邮件标头不同。
阿德里安·萨维奇

Answers:


5

基于postfix mailing-list上的该线程:通过sendmail(1)引入的所有邮件的传输方式都不同,看来您的情况是可能的。不幸的是,您不能只依靠两个表sender_dependent_relayhost_mapssmtp_sasl_password_maps。您需要修改master.cf。这个想法是header_checks用来将电子邮件路由到不同的传输方式。然后,在每个传输中,我们定义使用独立证书和中继主机的smtp客户端。

首先在main.cf及其pcre表中定义header_checks

#main.cf
header_checks = pcre:/etc/postfix/header_dependent_relay

#/etc/postfix/header_dependent_relay

/^From:.*specialsender1\@example\.com/       smtp1:[host1.example.com]
/^From:.*specialsender2\@example\.com/       smtp2:[host2.example.com]
/^From:.*specialsender3\@example\.com/       smtp3:[host3.example.com]

好,现在我们的设置smtp1smtp2smtp3运输master.cf

#master.cf
smtp1    unix  -       -       -       -       10       smtp
    -o smtp_sasl_password_maps=hash:/etc/postfix/smtp1.relay
smtp2    unix  -       -       -       -       10       smtp
    -o smtp_sasl_password_maps=hash:/etc/postfix/smtp2.relay
smtp3    unix  -       -       -       -       10       smtp
    -o smtp_sasl_password_maps=hash:/etc/postfix/smtp3.relay

文件smtpX.relay具有相似的内容,例如

[hostX.example.com]   userX:passwordX

免责声明:


0

这对我起作用,但有一个更改:需要在header_dependent_relay文件中添加动作“ FILTER” :

#/etc/postfix/header_dependent_relay

/^From:.*specialsender1\@example\.com/       FILTER smtp1:[host1.example.com]
/^From:.*specialsender2\@example\.com/       FILTER smtp2:[host2.example.com]
/^From:.*specialsender3\@example\.com/       FILTER smtp3:[host3.example.com]

参见http://www.postfix.org/header_checks.5.html

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.