2015-02-14 6 views
1

Я пытаюсь понять, что «config.after_initialize» делает с моей почтовой программой. У меня есть электронные письма, отправленные с помощью рейк-задачи с использованием класса UserMailer, который я получил из Devise :: Mailer. Когда я использую следующий код, заголовок DKIM не существует. Если я удалю after_initialize, то будут работать заголовки DKIM. Я предполагаю, что это порядок инициализации, или я не устанавливаю все настройки для почтовой программы? Я не уверен. Может кто-то пролить свет на этот или как я начну отлаживать его?Настройки почтовой программы для подписки dkim

среды/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 <[email protected]>", 
    reply_to: "[email protected]" 

end 

ответ

1

мне удалось выяснить, в основном то, что происходит. Удаление «config.after_initialize do» позволило заголовкам DKIM быть в сообщениях электронной почты, чтобы они начали работать. Но только после того, как я исправил проблему аутентификации, с которой я столкнулся, это связано с моей средой, и она не собирала пользователя ses и не передавала его, указанную в/etc/environment. Мои задачи грабли собирали уроки среды, но все электронные письма с проверкой, сделанные в контроллерах Devise, не собирали уроки среды.

Мое исправление для моей среды на ящике EC2 Ubuntu состояло в том, чтобы переключить некоторые экологические vars на .bash_profile.

Смежные вопросы