如何将 Amazon 的 X-SES-CONFIGURATION-SET:ConfigSet 添加到我的 postfix 邮件服务器?

如何将 Amazon 的 X-SES-CONFIGURATION-SET:ConfigSet 添加到我的 postfix 邮件服务器?

问题: 亚马逊展示了一个例子如何添加他们的X-SES-配置-设置:配置集到一封电子邮件。如何将其添加到我的 postfix 配置中,以便它将其用于所有外发电子邮件?

以下是迈克尔·汉普顿的回答:

根据 Michael Hampton 的回答,我创建了一个在我的服务器上运行的脚本。也许这可以帮助某些人。

#!/bin/bash

PrivateIP="123.123.123.123"
MyEmailAddress="[email protected]"
AmazonConfigSet="data-transporter"

#-- Install postfix-pcre
sudo apt-get install postfix-pcre -y

#-- Create 3 lines that append to your /etc/postfix/main.cf
{ echo ""; echo '#-- Amazon Simple Email Service'; echo "smtp_header_checks = pcre:/etc/postfix/ses-configuration-set"; } >> /etc/postfix/main.cf

#-- Create file with your configset name
echo "/^From:/ PREPEND X-SES-CONFIGURATION-SET: ${AmazonConfigSet}" > /etc/postfix/ses-configuration-set

#-- Postmap
postmap -q - pcre:/etc/postfix/ses-configuration-set <ses-configuration-set

#-- Send test email to your email account
echo "Test From $(hostname) and the header should contain ip ${PrivateIP}" | mail -s "Amazon IP Test From $(hostname)" "$MyEmailAddress"

答案1

你可以这样做后缀header_checks(尽管您可能希望使用相关功能smtp_header_checks以使其仅适用于外发邮件)。

例如,您可以添加到main.cf

smtp_header_checks = pcre:/etc/postfix/ses-configuration-set

然后创建/etc/postfix/ses-configuration-set包含标题检查的内容:

/^From:/ PREPEND X-SES-CONFIGURATION-SET: ConfigSet

ConfigSet您的配置集名称在哪里)

(请注意,空格应该在那里。亚马逊的例子中缺少空格是一个小错误。)

重新加载 postfix 然后 Bob 就是你的叔叔了。

这将导致 Postfix 在标题之前添加标题From:。如果您的外发邮件没有标题From:(虽然应该有!),请选择将包含的其他标题,例如Subject:Content-Type:

答案2

迈克斯的回答以上非常完美,将 X-SES-CONFIGURATION-SET 前言放在我们从 postfix docker 通过 AWS SES 转发的每封邮件上。

但是,为了帮助其他人,我收到了这个错误:

警告:pcre:/etc/postfix/ses-configuration-set 不可用。不支持的字典类型:pcre

已解决:

apt-get update -y && apt-get install postfix-pcre -y

systemctl reload postfix(如果在非容器上)

相关内容