Email 以编程方式向电子邮件添加签名

Email 以编程方式向电子邮件添加签名,email,mime,Email,Mime,我需要在通过专门代理服务器的电子邮件中添加签名。这似乎不是一个很好的方法,我最初的想法是: 如果邮件是非MIME邮件,或者是text/plain,只需在正文底部添加文本即可, 使用前面的“-”行(用于添加签名的旧约定 至text/plain消息;请参阅) 如果邮件是多部分/混合的,请查找最后一个边界,然后插入 其上方新的“多部分/备选”实体,包含普通和 sig的HTML版本。这样做的缺点是sig可能会 但是,请显示在附件下面 如果邮件不是multipart/mixed,则将其设置为multipa

我需要在通过专门代理服务器的电子邮件中添加签名。这似乎不是一个很好的方法,我最初的想法是:

  • 如果邮件是非MIME邮件,或者是
    text/plain
    ,只需在正文底部添加文本即可, 使用前面的“-”行(用于添加签名的旧约定 至
    text/plain
    消息;请参阅)
  • 如果邮件是多部分/混合的,请查找最后一个边界,然后插入 其上方新的“多部分/备选”实体,包含普通和 sig的HTML版本。这样做的缺点是sig可能会 但是,请显示在附件下面
  • 如果邮件不是
    multipart/mixed
    ,则将其设置为
    multipart mixed
    ,并 将现有实体降级到混合部分;现在添加
    multipart/alternative
    签名作为新文件的最后一部分
    多部分/混合
    。与(2)相同的缺点

  • 似乎很冗长。有没有更好的办法?谢谢。

    我如上所述编写了此代码,在雅虎、gmail、AOL、GMX和雷鸟上都可以使用,MIME经过验证,并且可以使用。 问题是,我再次忘记了微软完全无法阅读RFC。如果一个
    multipart/mixed
    节包含两个
    multipart/alternative
    节,其中每个节都包含一个
    text/plain
    和一个
    text/html
    替代项,那么Outlook/hotmail实际上会在第二个
    multipart/alternative
    节中显示这两个替代项。因此,它同时显示普通签名和HTML版本


    修复方法很简单-我没有为签名添加第二个
    多部分/备选
    ,而是添加了一个
    文本/html
    部分,仅包含html签名。这在上面所有的MUA上都能正确显示,包括脑死亡的MUA。不太理想,但我可以只为Microsoft收件人启用修复程序,如果他们说服MUA只显示纯文本,我可以让他们解决问题。

    如果只对
    text/html
    感兴趣,而不是
    text/plain
    部分感兴趣,更简单的实现是使用html签名将
    文本/html
    转换为
    多部分/mixed

    之前

    multipart/alternative
      text/plain
      text/html
    
    之后

    multipart/alternative
      text/plain
      multipart/mixed
        text/html
        text/html <== your signature
    
    multipart/alternative
    文本/纯文本
    多部分/混合
    文本/html
    
    text/html我会在你的参考资料中添加一些超链接,以便于人们快速查看你的参考资料,例如“RFC3676,4.3”。只是一个建议。:)完成-几十个MIME的参考,虽然-太复杂了!