我应该在传出标头创建中使用什么 Postfix 虚拟域变量?
当前服务器
我正在运行由PostfixAdmin管理的数据库驱动的虚拟域服务器。我想使用 Postfix 系统将语句放在所有外发电子邮件的标题中,而不是使用负责任的网络应用程序或客户端。
我们需要生产...
问题不在于List-Unsubscribe
标题,我们已经知道它应该看起来像......
在电子邮件标题中:
List-Unsubscribe: mailto:[email protected]
我们如何生产...
我们已经知道可以通过为支票量身定制的生产线来实现这一目标。所以,如果我们有这条线...... /etc/postfix/smtp_header_checks
主.cf:
smtp_header_checks = regexp:/etc/postfix/smtp_header_checks
(或其他一些设置,如some_setting = regexp:/etc/postfix/some_setting
?)
那么,我们需要在...
/etc/postfix/smtp_header_checks :
/^Content-Type:/i PREPEND List-Unsubscribe: mailto:[email protected]
但是,这只适用于特定领域somedomain.tld
;我需要一个取决于发送域的变量。
mydomain =
在任何地方main.cf
或任何其他文件中都没有设置/etc/postfix/
;所有域都由 MySQL 管理的虚拟域映射管理。
所以,这个问题是关于vmail 变量的任何发送头创建,不仅如此List-Unsubscribe:
,只要它在List-Unsubscribe:
从 Postfix 创建时有效。
(Postfix 文档不清楚标头中可用的 vmail 变量。)
带有域变量的代码
这是我最好的解决方案$mydomain
:
/etc/postfix/smtp_header_checks :
/^Content-Type:/i PREPEND List-Unsubscribe: mailto:unsubscribe@$mydomain
从虚拟域发送时,$mydomain
将该域传递到 Postfix 发送的标头或其他电子邮件内容创建的正确方法是什么?
(为此使用 Postfix 很重要,这样所有电子邮件都将包含此内容,即使是从简单的 CLI 或第三方 Web 应用程序通过MSMTP使用 PHP 发送的电子邮件,等等。我们已经知道如何通过服务器 lang 标头添加它。)
Postfix
不提供直接对应于发件人域的内置变量smtp_header_checks
,但我们可以使用正则表达式参数结合header_checks
使用smtp_header_checks
来做同样的事情。首先我们使用这个自定义标头
/etc/postfix/header_checks:添加这个
List-Unsubscribe
然后使用自定义X-Sender-Domain
在标题前添加/etc/postfix/smtp_header_checks:我们有
然后确保在
main.cf:我们有
然后我们重新加载,它应该可以工作。
$
sudo postfix reload