0

アプリケーションのすべてのユーザーにメールを送信しようとしています。

そのために、いつでも使用しています。

だから私はファイル/config/initializer/setup_mail.rbを私の設定smtpで持っています:

ActionMailer::Base.smtp_settings = {
    :tls => true,
    :address => "smtp.gmail.com",
    :port => "587",
    :domain => "miiaou.fr",
    :authentication => :plain,
    :user_name => "test.cicelle",
    :password => "myPasswordGoogle"
}

ActionMailer::Base.default_url_options[:host] = "miiaou.fr"

私の user.rb モデルでは:

def self.mail_recap_semaine
    @user = User.all
    @user.each do |u|
      UserMailer.mail_recap_semaine(u.email).deliver
    end
  end

user_mailer.rb 内

def mail_recap_semaine(email)
    mail(:to => email, :subject => "Weekly email from footyaddicts")
  end

schedule.rb 内 (10 分ごとなので、動作するかどうかを確認できます)

every 10.minutes do
   runner "User.mail_recap_semaine"
end

Rails コンソールで User.mail_recap_semaine を実行すると、ユーザーに関する多くの情報が得られましたが、メールが届きません。

バグの場所を確認するにはどうすればよいですか? ありがとう

4

2 に答える 2

0

メール送信中に発生したエラーや問題をデバッグするには、config/development.rb または config/production.rb の構成設定を変更して、アクション メーラーのエラーを次のように発生させる必要があります。

config.action_mailer.raise_delivery_errors = true

デフォルトでは false に設定されているため、エラーは発生しません。

それが役に立てば幸い。

ありがとう、

マニ

于 2012-12-03T11:36:13.680 に答える
0

OK、コードを壊したのは :tls でした。

だから今、レールコンソールの私のコマンドは完全に実行され、電子メールを送信しますが、いつでも機能しません。

crontab -l

# Begin Whenever generated tasks for: miiaou
0,10,20,30,40,50 * * * * /bin/bash -l -c 'cd /home/miiaou/miiaou && script/rails runner -e production '\''User.mail_recap_semaine'\'''

# End Whenever generated tasks for: miiaou

サーバーを再起動しましたが、何も受信しません。

于 2012-12-03T15:39:23.840 に答える