我正在使用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。 “发件人”地址是“默认发件人”,发送所有其他电子邮件。请说明我的电子邮件未送达的原因。
答案 0 :(得分:1)
您似乎在使用Mailcatcher。 Mailcatcher不会传递邮件,它会阻止邮件传递到实际的To
电子邮件地址,但可以让您检查邮件是否正确框架。开发人员在开发环境中使用Mailcatcher来查看电子邮件是否按照他们期望的样式呈现,而不会向To
电子邮件持有者发送垃圾邮件。
可以在Web界面中查看发送到Mailcatcher的所有电子邮件。访问您计算机上的http://localhost:1080
,您应该可以看到目前为止从开发环境发送的所有电子邮件。
答案 1 :(得分:0)
以下是发送邮件到gmail的配置:
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
}