如何在Rails 3中使用ActionMailer发送带签名的电子邮件?

18

我想在Rails 3中使用X.509证书来签署电子邮件的部分内容。现有的Rails 2答案位于How do I send signed emails from ActionMailer?,但该答案无法在Rails 3上工作。

是否可能通过ActionMailer在Rails 3中签署电子邮件? 如果不可能,那么在ActionMailer创建后,通过sendmail签署电子邮件是否可行?


当你说“它在Rails 3上不起作用”时,你到底是什么意思 - 你看到了什么错误?该插件仅在Rails 2.0.1上进行了测试,但https://github.com/penso/actionmailer_x509/blob/master/lib/actionmailer_x509.rb中的代码仍应该可以工作。 - Duncan Bayne
我在 vendor/plugins/actionmailer_x509/lib/actionmailer_x509.rb:80:in '<class:Base>' 中遇到了这样的错误:undefined method 'create!' for class 'ActionMailer::Base' (NameError) - petRUShka
问题:https://github.com/penso/actionmailer_x509/issues/1 - petRUShka
2个回答

1

也许这不是最好的答案,但这是我会做的:

  • 尝试安装该插件(即使它是为rails 2.0.x设计的)

  • 测试和修复代码,直到获得结果

查看代码后,发现核心文件是:

https://github.com/penso/actionmailer_x509/blob/master/lib/actionmailer_x509.rb

提供了一堆邮件DSL方法:

  • x509_sign true # 或 false
  • x509_cert "路径/到/证书"
  • x509_key "路径/到/秘钥"
  • x509_passphrase "密码"

因此,您可以获取该文件,并将其放置在$APP / lib下,然后编写一些测试以检查它是否正常工作。

A.


1
所有这些都不起作用 :( 我已经将此插件移植到Rails 3。问题是即使在2.0.1下,该插件也无法工作: https://github.com/penso/actionmailer_x509/issues/2 :( 我将尝试在我的分支中修复它: https://github.com/petRUShka/actionmailer_x509 - petRUShka
我知道它不起作用。我的意思是修复那段代码直到它能够正常工作。我还建议仅获取主要的库文件,因为它是该插件的核心。也许,你只需要将其移植到新的ActionMailer API上。 - Andrea Pavoni
我已经完成了对新ActionMailer API的移植。但是自2008年以来,openssl可能已经发生了变化,因为actionmailer_x509测试套件中的主要测试现在已经损坏(在我的Rails 3移植中以及使用Rails 2.0.1的新rvm gemset中)。 - petRUShka
也许你正在错误地使用它们,X509是一个标准。检查是否已经完成了设置证书的所有必要步骤。 - Andrea Pavoni
我在移植方面遇到了一些问题。使用Tmail gem的原始方法无法与新的Mail gem一起使用。如果您能帮助我,那就太好了:https://dev59.com/N1nUa4cB1Zd3GeqPXyYi - petRUShka

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接