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

Shunsuke Sawada

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

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

config/environments/production.rbとか

ruby
1
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

ruby
1
2
3
4
5
6
7
8
9
10
11
12
13
class MyMailer < ActionMailer::Base

  # Default email address is required
  default from: "YOUR EMAIL [email protected]"

  def mail_test(msg)
    @msg = msg
    mail to: "[email protected]", subject: "Test Mail"
  end

end

Shunsuke Sawada

おすすめの記事

オーストラリア66分の1を一週間で旅行してきた。
justhostがハッキングされてる件
海外でクレジットカードを使ってATMを使うとリボ払いなのね。。。