Action Mailer不提供电子邮件 - MailCatcher和sendmail

时间:2017-07-05 07:38:14

标签: ruby-on-rails ruby actionmailer

我正在使用Rails 5.我在config / environments / development.rb和config / environments / staging.rb中有以下配置。

配置/环境/ development.rb

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

当我调用发送电子邮件的方法时,我得到以下输出。

Rendering mailer/consolidated_s3_storage_report.html.erb
Rendered mailer/consolidated_s3_storage_report.html.erb (0.4ms)
Mailer#consolidated_s3_storage_report: processed outbound mail in 17668.1ms
 => #<Mail::Message:86763960, Multipart: true, Headers: <From: mcds@sheridan.com>, <To: mcds.support@sheridan.com>, <Subject: 2017 July - S3 Storage Report>, <Mime-Version: 1.0>, <Content-Type: multipart/mixed; boundary="--==_mimepart_595c962cc36fb_1be1b2198436941"; charset=UTF-8>>

但电子邮件未发送到我的Gmail。 “发件人”地址是“默认发件人”,发送所有其他电子邮件。请说明我的电子邮件未送达的原因。

2 个答案:

答案 0 :(得分:1)

您似乎在使用Mailcatcher。 Mailcatcher不会传递邮件,它会阻止邮件传递到实际的To电子邮件地址,但可以让您检查邮件是否正确框架。开发人员在开发环境中使用Mailcatcher来查看电子邮件是否按照他们期望的样式呈现,而不会向To电子邮件持有者发送垃圾邮件。

可以在Web界面中查看发送到Mailcatcher的所有电子邮件。访问您计算机上的http://localhost:1080,您应该可以看到目前为止从开发环境发送的所有电子邮件。

答案 1 :(得分:0)

以下是发送邮件到gmail的配置:

配置/环境/ development.rb

config.action_mailer.default_url_options = { :host => 'localhost:3000' }
config.action_mailer.delivery_method = :smtp

config.action_mailer.smtp_settings = {
      :address => "smtp.gmail.com",
      :port => 587,
      :domain => "gmail.com",
      :user_name => "user@gmail.com", #your gmail id
      :password => "password", #your gmail password
      :authentication => "plain",
      :enable_starttls_auto => true
}