我需要为通过专用代理服务器的电子邮件添加签名。这似乎不是一个非常好的方法,我最初的想法是:
text/plain
,只需将文字添加到正文的底部,
前面的" - " line(添加签名的旧约定
发送text/plain
条消息;见RFC3676, 4.3)multipart/mixed
,请找到最后一个边界,然后插入
一个新的'multipart / alternative'它上面的实体,包含普通和
sig的HTML版本。这具有sig可能的缺点
但是,它出现在附件下方。multipart/mixed
,请将其设为multipart-mixed
,然后
将现有实体降级为混合部分;现在添加
multipart/alternative
签名作为新的最后一部分
multipart/mixed
。与(2)相同的缺点。似乎很啰嗦。关于更好的方法的任何想法?感谢。
答案 0 :(得分:0)
我将其编码如上,并且在Yahoo,gmail,AOL,GMX和Thunderbird上都很好,MIME已经过验证here和here。
问题是我再次忘记了微软完全无法阅读RFC。如果multipart/mixed
部分包含两个multipart/alternative
部分,其中每个部分包含text/plain
和text/html
替代,则Outlook / hotmail实际上会显示两个第二个multipart/alternative
中的备选方案。因此,它显示普通签名和HTML版本。
修复很简单 - 我不是为签名添加第二个multipart/alternative
,而是添加一个text/html
部分,仅包含HTML签名。这显示在上面的所有MUA上,包括脑死亡的MUA。不完全理想,但我可以只为Microsoft收件人启用修复程序,如果他们说服他们的MUA只显示纯文本,就让他们解决问题。
答案 1 :(得分:0)
如果只对text/html
感兴趣,而对text/plain
则不感兴趣,则更简单的实现是将html签名将text/html
转换为multipart/mixed
。
之前
multipart/alternative
text/plain
text/html
之后
multipart/alternative
text/plain
multipart/mixed
text/html
text/html <== your signature