2014-01-28 3 views
0

Я хочу отправить электронное письмо в мое приложение Rails, но не знаю, почему письмо не отправляется в адрес электронной почты, тогда как в моем журнале отправляется электронная почта. Вот мои настройки электронной почты отправителя в environment/development.rb:Mailer не отправляет рельсы

MyApp::Application.configure do 

    config.cache_classes = false 
    config.eager_load = false 

    config.consider_all_requests_local  = true 
    config.action_controller.perform_caching = false 

    config.action_mailer.raise_delivery_errors = false  
    config.active_support.deprecation = :log 
    config.active_record.migration_error = :page_load 

    config.assets.debug = true 
    config.action_mailer.perform_deliveries = true 
    config.action_mailer.default_url_options = { :host => 'localhost:3000' } 
    config.action_mailer.delivery_method = :smtp 
    config.action_mailer.smtp_settings = { 
    :address    => "smtp.gmail.com", 
    :port     => 587, 
    :domain    => 'gmail.com', 
    :user_name   => 'my_username', 
    :password    => 'my_pass', 
    :authentication  => 'plain', 
    :enable_starttls_auto => true } 
end 

Вот мой UserMailer.rb:

class UserMailer < ActionMailer::Base 
    def checkout(admin_email, email, ids, store_name) 
     @email = email 
     @seller = admin_email 
     @store_name = store_name 
     @orders = [] 
     @store = Store.where("name = ?", store_name).first 

     ids.each do |f| 
      @orders << Order.find(f) 
     end 
     mail(:to => "<#{email}>", :from => "<#{admin_email}>", :subject => "checkout confirmation") 
     end 
end 

и вот код в мой контроллер для отправки по электронной почте:

UserMailer.checkout(admin_email, email, ids, store.name).deliver 

Почему это письмо, кажется, быть отправлено (согласно журналам), но не отправлено получателю?

+0

почему вы писать все меньше и больше, то подпишите до и после вашей почты, удалите их. –

+1

Да, измените на 'mail (: to => email,: from => admin_email,: subject =>" подтверждение проверки ")' –

ответ

-1

Если вы используете Gmail, убедитесь, что поле имени пользователя на самом деле: [email protected] я была аналогичная проблема, и она работала, как только я изменил имя пользователя

+0

спасибо, я пропустил это – tardjo

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