2015-03-06 6 views
0

Я пытаюсь создать почтовый ящик в своем приложении rails. Я считаю, что все настроено правильно, но я не получаю письмо.ActionMailer не отправляет электронную почту

приложение/Библиотека/задачи/электронная почта/daily_summary.rake

namespace :email do 
    desc 'Send Daily Summary Email' 
    task :send_daily_summary, [] => :environment do 
    DailyMailer.summary_email(ENV['GROUP_MAIL_ADDRESS']) 
    end 
end 

приложение/просмотров/daily_mailer/summary_email.html.erb

<% if @new_apps.count >= 1 %> 
<h1> 
    <%="#{@new_apps.count} new Applications were added today" %> 
</h1> 
    <% @new_apps.each do |app| %> 
    <p> 
     <%= image_tag app.icon_url %> 
    </p> 
    <p> 
     <%= app.name %> 
    </p> 
    <p> 
     <%= app.last_build %> 
    </p> 
    <% end %> 
<% end %> 
<% if @new_versions.count >= 1 %> 
<h1> 
    <%="#{@new_versions.count} new builds of Applications were added." %> 
</h1> 
    <% @new_versions.each do |version| %> 
    <p> 
     <%= image_tag version.icon_url %> 
    </p> 
    <p> 
     <%= version.app_name %> 
    </p> 
    <p> 
     <%= version.build_number %> 
    </p> 
    <% end %> 
<% end %> 

приложение/отправители/daily_mailer.rb

class DailyMailer < ApplicationMailer 
    def summary_email(email_address) 
    @new_versions = Version.since(24.hours.ago) 
    @new_apps = App.since(24.hours.ago) 
    mail(to: email_address, subject: 'Daily Summary - ') 
    end 
end 

config/environment/development.rb

config.action_mailer.delivery_method = :smtp 
    config.action_mailer.smtp_settings = { 
    address:    'smtp.gmail.com', 
    port:     587, 
    domain:    ###############, 
    user_name:   ENV['EMAIL_LOGIN'], 
    password:    ENV['EMAIL_PASSWORD'], 
    authentication:  'plain', 
    enable_starttls_auto: true } 

выход

rake email:send_daily_summary 
    (0.7ms) SELECT COUNT(*) FROM "apps" WHERE (created_at > '2015-03-05 17:13:12.405508') 
    (1.0ms) SELECT COUNT(*) FROM "versions" WHERE (created_at > '2015-03-05 17:13:12.345107') 
    (0.4ms) SELECT COUNT(*) FROM "versions" WHERE (created_at > '2015-03-05 17:13:12.345107') 
    Version Load (0.6ms) SELECT "versions".* FROM "versions" WHERE (created_at > '2015-03-05 17:13:12.345107') 
    App Load (0.4ms) SELECT "apps".* FROM "apps" WHERE "apps"."id" = $1 LIMIT 1 [["id", 18]] 
    Rendered daily_mailer/summary_email.html.erb within layouts/mailer (97.8ms) 

DailyMailer#summary_email: processed outbound mail in 440.8ms 
+0

Вы забыли опубликовать сообщение об ошибке из development.log журнала или журнала консоли. –

+0

@maxd Я не получаю сообщение об ошибке: «DailyMailer # summary_email: обработанная исходящая почта в 440.8ms' –

+0

ОК, поэтому ошибка заканчивается этим, но что это за сообщение об ошибке? – lurker

ответ

2

У вас не хватает .deliver от вашего DailyMailer.summary_email(ENV['GROUP_MAIL_ADDRESS']) вызова.

должно быть:

DailyMailer.summary_email(ENV['GROUP_MAIL_ADDRESS']).deliver 
Смежные вопросы