【问题标题】:Can I send email from different addresses using same ActionMailer我可以使用同一个 ActionMailer 从不同地址发送电子邮件吗
【发布时间】:2011-06-30 19:59:57
【问题描述】:

我正在为我的 Rails 2.3.9 应用程序使用 ActionMailer。

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

  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 而不是邀请@mydomain.com。

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

【问题讨论】:

  • 与您的问题无关,但 Rails 2.3.11 已发布大量安全修复程序,因此您应该尽可能更新。

标签: ruby-on-rails actionmailer


【解决方案1】:

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

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

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

【讨论】:

  • 谢谢@dmarkow 您第二个建议的解决方案有效。我添加了新的电子邮件地址,然后按照“添加另一个您拥有的电子邮件地址”,然后它就起作用了。
  • 我认为这还不够,请尝试阅读this
猜你喜欢
  • 1970-01-01
  • 2016-05-22
  • 2018-01-08
  • 2014-08-03
  • 2012-06-26
  • 2018-07-10
  • 2018-11-06
  • 1970-01-01
  • 2011-03-20
相关资源
最近更新 更多