我想将actionmailer_x509移植到Rails 3.为了做到这一点,我尝试使用签名电子邮件从大字符串创建Mail对象。
您可以在此行中看到此类创作:https://github.com/petRUShka/actionmailer_x509/blob/master/lib/actionmailer_x509.rb#L129
原始字符串( smime0 ):https://gist.github.com/1d2c84cc2e255be010a6
转储到文件的结果邮件对象( newm ):https://gist.github.com/4682fe88e8dcfeca60b2
例如,您可以看到 smime0 第26行与 newm 第40行之间的差异。在 smime0 \r\n
在每个64个字符后设置,并且 newm \r\n
在每个60个字符后设置。
这种行为破坏了签名。是否有可能改变这种行为?我试图找出如何关闭它,但失败了。
对于这一点,可能还有其他一些解决方法。
P.S。邮件gem:https://github.com/mikel/mail,讨论x509和actionmailer的帖子:How do I send signed emails from ActionMailer in Rails 3?
答案 0 :(得分:3)
回车不应该是一个问题,因为解析器会知道它是base64编码的(并将丢弃\r\n
)。
我认为错误来自Content-id。我看到在你的邮件样本中,newm添加了一个Content-ID字段,它改变了签名的消息(尝试删除Content-ID行并验证消息)。
可能的解决方法: