【问题标题】:DKIM signatures to Rails application using Amazon SES使用 Amazon SES 对 Rails 应用程序进行 DKIM 签名
【发布时间】:2012-04-05 17:34:49
【问题描述】:

我们使用 ActionMailer,将 SMTP 作为我们的递送方式,并将 Amazon SES 作为我们的外发邮件提供商。

我们想用 DKIM 签署电子邮件。 我们该怎么做?

谢谢

【问题讨论】:

    标签: ruby-on-rails smtp amazon-ses dkim


    【解决方案1】:

    我自己还没有通过 ActionMailer 使用 DomainKeys Identified Mail (DKIM) 和 Amazon SES,但这是我的处理方法:

    注意

    如果您使用 Amazon SES SMTP 接口发送电子邮件,并且 您的客户端软件会自动执行 DKIM 签名,您应该 检查以确保您的客户没有签署任何标头 以上所列。我们建议您检查您的文档 软件来准确找出使用 DKIM 签名的标头。

    # Configure dkim globally (see above)
    Dkim::domain      = 'example.com'
    Dkim::selector    = 'mail'
    Dkim::private_key = open('private.pem').read
    
    # UPDATE [John Hawthorn]: SES developer guide recommends against signing these
    Dkim::signable_headers = Dkim::DefaultHeaders - \
        %w{Message-ID Resent-Message-ID Date Return-Path Bounces-To}
    
    # This will sign all ActionMailer deliveries
    ActionMailer::Base.register_interceptor('Dkim::Interceptor')
    

    更新

    John Hawthorn 已使用所需的 SES 异常更新了代码片段(分别参见上面的注释行),确认他表面上出色的 dkim gem 确实是 如果 dkim gem 可以满足提到的 SES/DKIM 标头异常要求,这看起来是实现目标的一种非常简单的方法 - 感谢 John!

    【讨论】:

    • 我也在使用与上述配置类似的 dkim gem。与 aws-ses gem 配合使用,通过 SES API 发送电子邮件效果很好。
    • 你是如何创建 private.pem 文件的?
    • @xuraj - 生成正确的 DKIM 私钥超出了此问题的范围。也就是说,如果你真的想做,从Manual DKIM Signing开始;但是,正如那里所提到的,现在我强烈建议您先研究一下 Amazon SES Easy DKIM 功能,它允许您一起跳过手动 DKIM 处理,转而由 SES 自动处理。
    • @SteffenOpel 感谢您的回复。我确实使用了简单的 DKIM 功能进行了签名,但 hotmail 中的电子邮件转到了垃圾文件夹。不过,Gmail 和 Yahoo 地址可以到达收件箱。我正在使用 ActionMailer 发送电子邮件。对于垃圾邮件问题有什么建议吗?如果我使用简易 DKIM 功能,我还需要使用 DKIM gem吗?
    • @xuraj - 除了 Easy DKIM 之外,您不需要(也不应该)使用 DKIM gem:您可以通过检查电子邮件的来源来验证后者是否正常工作,其中包含DKIM-Signature: 标头字段以防万一。已经存在的垃圾文件夹问题不一定在您开始使用身份验证机制的那一刻就得到解决,而是在 ISP 中建立声誉可能需要一段时间,而且电子邮件声誉通常是一个复杂的问题 - 请查看 SES Whitepaper on Email Best Practices 了解更多信息。
    【解决方案2】:

    您可以使用 dkim 项目为您执行此操作:

    https://github.com/jhawthorn/dkim

    【讨论】:

      【解决方案3】:

      您可以将其完全从源代码中取出,让 SES 为您进行 DKIM 签名。效果很好。

      https://aws.amazon.com/blogs/aws/simple-email-service-easy-domainkeys-identified-mail-support/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-07-14
        • 2011-06-10
        • 2018-06-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-28
        相关资源
        最近更新 更多