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

我正在使用ActionMailer来实现我的Rails 2.3.9应用程序。

当我发送电子邮件时使用:

deliver_user_invite 

配置:

  def user_invite(subject, content) subject subject from "User Invite " 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配置设置发件人电子邮件地址?

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

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

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