我的公司希望根据发件人的地址为所有电子邮件添加页脚。我们已根据本文成功实现https://www.howtoforge.com/how-to-automatically-add-a-disclaimer-to-outgoing-emails-with-altermime-postfix-on-debian-squeeze。
master.cf 中的关键行如下:
smtp inet n - - - - smtpd -o content_filter=dfilt:
dfilt unix - n n - - pipe
flags=Rq user=filter directory=/var/spool/filter null_sender= argv=/etc/postfix/autofooter -f ${sender} -- ${recipient}
当我们从 webmail 或 outlook 发送电子邮件时,它可以正常工作,但从移动电子邮件客户端发送电子邮件时会失败。通过移动设备发送的电子邮件到达收件人,但 autofooter 脚本根本没有被调用。
网络邮件和移动电子邮件之间有哪些区别?
答案1
真正的问题是移动电子邮件采用 base 64 编码,而 altermime 无法解码 b64 消息。
因此我们添加了一个 disclaimer-b64 参数,然后:
/usr/bin/altermime --input=in.$$ \
--disclaimer=/etc/postfix/footers/${from_address}.txt \
--disclaimer-html=/etc/postfix/footers/${from_address}.htm \
--disclaimer-b64=/etc/postfix/footers/${from_address}.b64 ||
{ echo Message content rejected; echo Message content rejected >> /etc/postfix/footers/errors.log; exit $EX_UNAVAILABLE; }
就这样!
这个解决方案是由(David,等待他的个人信息给他一个真正应得的荣誉)发现的