Railsのメーラーでメールが送れない時
いつも通りにやってるはずなのに、なぜか送れない…。となったのでメモ。
あってるはずなのに、、、という思い込みが良くないね。
まず、エラーが出てない場合もあるので、出す。
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