Rails 4.2无法使用mandrill发送外发邮件

时间:2015-08-24 16:44:25

标签: heroku smtp mandrill ruby-on-rails-4.2 http-status-code-302

hi iam目前正在制作一个smtp,我的问题是它甚至不会发送电子邮件,我正在使用设计并且它已经完美地发送了一封电子邮件但是当涉及另一个传出的电子邮件时它给了我一个错误,如同所以当我做一些heroku日志

An SMTP From address is required to send a message. Set the message smtp_envelope_from, return_path, sender, or from address.

我已经正确设置了smtp,我不知道为什么会显示,当我在本地尝试使用我的本地服务器工作正常并使用gem letter_opener来查看它是否正常工作并且很好,但是当我尝试使用我的服务器它会给我一个错误。

还设置了基础

config.action_mailer.delivery_method = :smtp
config.action_mailer.default_url_options = { host: "mines.com/" }
config.action_mailer.smtp_settings = {
  :address        => "smtp.mandrillapp.com",
  :port           => "587",
  :authentication => :plain,
  :user_name      => Rails.application.secrets.mandrill_username,
  :password       => Rails.application.secrets.mandrill_password,
  :domain         => "rigpirate.com",
  :enable_starttls_auto => true

有人可以帮我解决这个问题,因为我不知道从哪里开始

1 个答案:

答案 0 :(得分:0)

我不认为这与mandrill有任何关系。要实际发送邮件,您需要SMTP“发件人”地址。您本地测试没有失败,因为您可能实际上没有发送邮件。

问题中的代码段未显示您如何设置发件人地址。

可以在三个地方设置起始地址:

  • in config.action_mailer.default_options
  • 作为邮件程序类default
  • 作为mail参数

# in app config:
config.action_mailer.default_options = { from: "no-reply@example.org" }   

# in a mailer class:
class Notifier < ActionMailer::Base
  default from: 'no-reply2@example.org'

  def welcome
    mail(from: 'no-reply3@example.org', to: 'a@b.c')
  end
end

有关详细信息,请参阅ActionMailer docs