これは特に奇妙な問題です... 私は Devise を使用しており、パスワードのリセットを依頼したときにメールを受け取りたいと思っています。
そこで、この行を development.rb ファイルに追加しました:
ActionMailer::Base.default_url_options[:host] = "localhost:3000"
これはうまく機能しています...
しかし、アドレスを変更してドットを含む何かを書くと、本番アドレス「xxx.herokuapp.com」のようにメールが送信されません。エラーは発生しません。ログには、メールが送信されたことを示すメッセージが表示されますが、何も受信しません。
指定したホスト名にドット (「.」) がない場合にのみ、メールを受信します。
編集
デフォルトの Devise:Mailer を使用すると、すべて正常に動作します。カスタムメーラーに問題があるに違いありません。
ここにあります:Mailer.rb
class Mailer < Devise::Mailer
include Devise::Mailers::Helpers
def headers_for(action, opts={})
headers = {
:subject => t("devise.mailer.#{action}.subject"),
:from => mailer_sender(devise_mapping),
:to => resource.email,
:bcc => "myadresse",
:template_path => template_paths
}
end
def confirmation_instructions(record, opts={})
devise_mail(record, :confirmation_instructions, opts)
end
def reset_password_instructions(record, opts={})
devise_mail(record, :reset_password_instructions, opts)
end
def unlock_instructions(record, opts={})
devise_mail(record, :unlock_instructions, opts)
end
end