Railsのメーラーでメールが送れない時

いつも通りにやってるはずなのに、なぜか送れない…。となったのでメモ。
あってるはずなのに、、、という思い込みが良くないね。

まず、エラーが出てない場合もあるので、出す。
falseだと、メールが送られていないことすら気付かないことも。
定期処理だからといってほったらかしだと痛い目にあう。

config/environments/production.rbとか

config.action_mailer.raise_delivery_errors = true

fromは設定しよう

こんなエラーが出ました。
ArgumentError: An SMTP From address is required to send a message. Set the message smtp_envelope_from, return_path, sender, or from address.

.deliverの度にfromを渡すこともできるんだけど、うっかり忘れて悩んでしまった。
default from: を加えたら解決です。

mailers/my_mailer.rb


class MyMailer < ActionMailer::Base

  # Default email address is required
  default from: "YOUR EMAIL ADDRESS@domain.com"

  def mail_test(msg)
    @msg = msg
    mail to: "xxxxxx@xxxx.com", subject: "Test Mail"
  end

end

何かありましたらコメントをどうぞ

comments powered by Disqus

人気の記事

950 Points チリ出身のギタリストが弾くドラゴンボールZがむちゃくちゃかっこいい…
774 Points Wordpress + Heroku + PostgreSQL + Amazon S3 = ¥0 / 無料でサイト運営
700 Points Rubyのチートシート 変数 / クラス / モジュール
524 Points Rubyのチートシート / アクティブサポート
451 Points 紙のデザイナーがウェブ開発できるようになるまでに必要なこと
435 Points Rails / Google Analyticsのデータを使って分析や管理画面のためのグラフをつくる
323 Points RailsとHerokuでノーティフィケーションをプッシュする / PusherとTurbolinksの兼ね合い
222 Points Rails / RSpec テスト書いたことない メンドクサイ(n´Д`)という時のチートシート
193 Points Rails / Ajaxを使って画面遷移しない一時保存機能をつける
193 Points Protractorでスクレイピングしてみた