Action Mailer 不发送电子邮件 - MailCatcher 和 sendmail
Action Mailer Not delivering Emails - MailCatcher and sendmail
我正在使用 Rails 5. 我在 config/environments/development.rb 和 config/environments/staging.rb.
中有以下配置
config/environments/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。 'from' 地址是 'default from',所有其他电子邮件都是从该地址发送的。请说明为什么我的电子邮件未送达。
您似乎在使用 Mailcatcher。 Mailcatcher 不投递邮件,它是为了防止邮件投递到实际的 To
电子邮件地址,但可以让您检查邮件的框架是否正确。开发人员在开发环境中使用 Mailcatcher 来查看电子邮件是否按照他们期望的方式呈现,而不会向 To
电子邮件持有者发送垃圾邮件。
发送到 Mailcatcher 的所有电子邮件都可以在 Web 界面中查看。在你的电脑上访问http://localhost:1080
,你应该可以在开发环境中看到你到目前为止发送的所有邮件。
以下是发送邮件到gmail的配置:
config/environments/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
}
我正在使用 Rails 5. 我在 config/environments/development.rb 和 config/environments/staging.rb.
中有以下配置config/environments/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。 'from' 地址是 'default from',所有其他电子邮件都是从该地址发送的。请说明为什么我的电子邮件未送达。
您似乎在使用 Mailcatcher。 Mailcatcher 不投递邮件,它是为了防止邮件投递到实际的 To
电子邮件地址,但可以让您检查邮件的框架是否正确。开发人员在开发环境中使用 Mailcatcher 来查看电子邮件是否按照他们期望的方式呈现,而不会向 To
电子邮件持有者发送垃圾邮件。
发送到 Mailcatcher 的所有电子邮件都可以在 Web 界面中查看。在你的电脑上访问http://localhost:1080
,你应该可以在开发环境中看到你到目前为止发送的所有邮件。
以下是发送邮件到gmail的配置:
config/environments/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
}