我可以使用相同的ActionMailer从不同的地址发送电子邮件吗?

时间:2011-02-20 17:38:06

标签: ruby-on-rails actionmailer

我正在将ActionMailer用于我的Rails 2.3.9应用程序。

当我使用以下方式发送电子邮件时

  deliver_user_invite

配置:

  def user_invite(subject, content)
    subject subject
    from "User Invite <invite@mydomain.com>"
    recipients "invites@mydomain.com"
    sent_on Time.now
    content_type "text/html"
    body :content => content
  end

使用SMTP配置

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

但是,当发送电子邮件时,发件人电子邮件显示为user@mydomain.com而不是invite@mydomain.com。

我可以针对不同的电子邮件地址使用不同的SMTP配置吗?或者有没有办法从ActionMailer配置中设置发件人电子邮件地址?

1 个答案:

答案 0 :(得分:6)

这是Gmail SMTP限制。它始终会使电子邮件的发件人成为您用于smtp设置的用户名/登录名,并会忽略您的from地址。

可能的解决方法可能是在您需要以其他人身份发送时动态更改smtp设置。

修改:您可以进入自己的Gmail帐户设置并使用“添加您拥有的其他电子邮件地址”选项,以允许您的帐户通过这些电子邮件地址发送。我没有测试它,但它可能会工作。 (见http://www.mobileread.com/forums/showpost.php?p=21093&postcount=1)。