如何在Postfix中更改信封来源?


13

使用Postfix通过Amazon SES发送邮件的Linux服务器。从Wordpress发送电子邮件时,由于信封发件人地址不正确而导致电子邮件被拒绝。

如何配置Postfix始终将myemail@mydomain.com用作信封发件人地址?

我在寻找可以配置的默认属性,而不是基于代码的解决方案。

Answers:


12

将以下内容放入/etc/postfix/canonical

# Use the empty regexp to map *any* address to the desired envelope sender.
// my-fixed-envelope-sender@example.org

将以下内容附加到/etc/postfix/main.cf

canonical_maps = regexp:/etc/postfix/canonical
canonical_classes = envelope_sender

重新加载后缀:

postfix reload

请注意,这仅重写信封发件人(根据要求),而不是“发件人:”标头。另外,如果将其设置在接收来自外界的邮件的主机上,则可能会造成严重破坏。

有关更多信息,请参见canonical(5)canonical_mapscanonical_classes选项的文档。


请勿使用,//因为它也匹配空发件人,例如传递错误。使用/./
Wurtel

3

您也可以从php设置信封发送者。

如果使用mod_php,请将其放入apache vhost配置中:

php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -fyou@example.com"

或在php.ini文件中设置值(可以是服务器范围的值,也可以是每个用户的值,具体取决于您的系统):

sendmail_path "/usr/sbin/sendmail -t -i -fyou@example.com"

这仅在发送脚本使用php mail()函数时有效。


也可以使用-F选项在邮件之前设置名称:-F abc-> abc <you@example.com>
lord_t

0

我相信您正在寻找的是masquerade_domains设置,它将进入main.cf。我不确定你是什么意思

我在寻找可以配置的默认属性,而不是基于代码的解决方案。

请查看以下链接:

Postfix配置参数-masquerade_domains


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.