1

メールキャッチャーを使用して、メールが送信されたかどうかを確認したいと思います。メーラーが生成され、確実に呼び出されるため、そうではありませんでした。なぜだろうと思います。

だから私のconfig/environment /development.rbに私は書いた:

config.action_mailer.raise_delivery_errors = true
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = { :address => "localhost", :port => 1025 }

私の電話は次のようになります。

OrderMailer.send_new_order(@order).deliver

そして最後に、次のように生成されたコントローラー:

class OrderMailer < ActionMailer::Base
  default from: "from@example.com"
  def send_new_order(order)
    @greeting = "Hi"
    mail to: "to@example.org", subject: "Test"
  end
end

そして、メールキャッチャーはもちろん実行されます。では、なぜメールが送信されなかったのでしょうか。

4

2 に答える 2

14

開発環境に間違ったSMTPアドレスを使用していることがわかりました。

それはしなければなりませんでした

config.action_mailer.smtp_settings = { :address => "127.0.0.1", :port => 1025 }

それ以外の

config.action_mailer.smtp_settings = { :address => "localhost", :port => 1025 }
于 2012-09-26T09:20:24.477 に答える
2

https://github.com/sj26/mailcatcher/issues/182

$ mailcatcher -f -v
Starting MailCatcher
==> smtp://127.0.0.1:1025
==> http://127.0.0.1:1080
==> SMTP: Received message from '<donotreply@xxx.com>' (676 bytes)
于 2015-09-21T22:43:47.333 に答える