![移动设备发送电子邮件不会添加免责声明](https://linux22.com/image/704698/%E7%A7%BB%E5%8A%A8%E8%AE%BE%E5%A4%87%E5%8F%91%E9%80%81%E7%94%B5%E5%AD%90%E9%82%AE%E4%BB%B6%E4%B8%8D%E4%BC%9A%E6%B7%BB%E5%8A%A0%E5%85%8D%E8%B4%A3%E5%A3%B0%E6%98%8E.png)
我的公司希望根据发件人的地址为所有电子邮件添加页脚。我们已根据本文成功实现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,等待他的个人信息给他一个真正应得的荣誉)发现的