【发布时间】:2014-12-31 12:56:24
【问题描述】:
我已经尝试了所有我能想到的方法来使用 Rails 4.1.6(本地开发)发送电子邮件,但没有任何效果。使用邮戳,我的 development.rb 和 application.rb 中有以下内容:
config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }
config.action_mailer.delivery_method = :postmark
config.action_mailer.postmark_settings = { :api_key => API_KEY }
config.action_mailer.perform_deliveries = true
对于 GMAIL 我试过了:
config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }
config.action_mailer.perform_deliveries = true
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
address: 'smtp.gmail.com',
port: 587,
domain: 'gmail.com',
user_name: 'my_email',
password: 'my_password',
authentication: 'plain',
enable_starttls_auto: true }
我的 Mailer 类如下所示:
class BusinessMailer < ActionMailer::Base
default from: "my_email@email.com"
def claim_business business
mail(
:subject => 'hello',
:to => 'myemail@email.com',
:from => 'myemail@email.com',
:html_body => '<strong>Hello John Doe<strong>',
:track_opens => 'true'
)
end
end
最后我通过以下方式发送电子邮件:BusinessMailer.claim_business @business
当我触发claim_business 方法时,我在控制台中看到BusinessMailer#claim_business: processed outbound mail in 14.1ms,没有错误消息。谁能告诉我我在这里缺少什么?
【问题讨论】:
-
添加
config.action_mailer.raise_delivery_errors = true看看会发生什么。 -
@blelump 我有这个并且没有任何额外的输出到控制台,只是标准的
processed outbound mail -
好的,那么:
BusinessMailer.claim_business(@business).deliver? -
@blelump 我应该在 3 小时前发布这个问题!它有效,如果您想添加您的评论作为答案,我会给您信用。感谢您的帮助!
-
@DanRamos 打电话给
.deliver解决方案?我遇到了同样的问题,但我肯定会打电话给.deliver...实际上,现在是.deliver_now。
标签: ruby-on-rails ruby email gmail actionmailer