dkim签名的动作邮件设置

时间:2015-02-14 21:52:01

标签: ruby-on-rails email actionmailer dkim

我想了解" config.after_initialize"正在对我的邮件做。我使用我从Devise :: Mailer派生的UserMailer类通过rake任务发送电子邮件。当我使用以下代码时,DKIM标头不存在。如果我删除after_initialize DKIM标头工作。我猜这是初始化问题的顺序,还是我没有设置邮件程序的所有设置?我不确定。有人可以对这一个有所了解,或者我将如何开始调试它?

environments / production.rb

  config.action_mailer.asset_host     = 'http://savethesparkles.com'

  config.action_mailer.default_url_options = { host: 'savethesparkles.com' }
  config.after_initialize do
    config.action_mailer.perform_deliveries = true
    config.action_mailer.raise_delivery_errors = true
    config.action_mailer.delivery_method = :smtp
    config.action_mailer.smtp_settings = {
      address:              'email-smtp.us-east-1.amazonaws.com',
      port:                 587,
      domain:               'savethesparkles.com',
      user_name:            ENV['AWS_SES_USER'],
      password:             ENV['AWS_SES_PASS'],
      authentication:       :login,
      enable_starttls_auto: true
    }
  end

user_mailer.rb

require "#{Rails.root}/app/helpers/user_helper"
include UserHelper

class UserMailer < Devise::Mailer
  helper :application # gives access to all helpers defined within `application_helper`.                                               
  include Devise::Controllers::UrlHelpers # Optional. eg. `confirmation_url`                                                           

  default from: "Save The Sparkles <contact@savethesparkles.com>",
  reply_to: "contact@savethesparkles.com"

end

1 个答案:

答案 0 :(得分:1)

我能够弄清楚发生了什么。删除&#34; config.after_initialize do&#34;允许DKIM标题出现在电子邮件中,以便开始工作。但是,只有在我修复了身份验证问题后,我才遇到与我的环境有关的问题,并且它没有接收环境用户并传递我在/ etc / environment中指定的那个。我的rake任务正在挑选环境变量,但是在Devise控制器中完成的任何身份验证电子邮件都没有获得环境变量。

我在EC2 Ubuntu框中对环境的修复是将一些环境变量切换为.bash_profile。