我正在将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配置中设置发件人电子邮件地址?
答案 0 :(得分:6)
这是Gmail SMTP限制。它始终会使电子邮件的发件人成为您用于smtp设置的用户名/登录名,并会忽略您的from
地址。
可能的解决方法可能是在您需要以其他人身份发送时动态更改smtp设置。
修改:您可以进入自己的Gmail帐户设置并使用“添加您拥有的其他电子邮件地址”选项,以允许您的帐户通过这些电子邮件地址发送。我没有测试它,但它可能会工作。 (见http://www.mobileread.com/forums/showpost.php?p=21093&postcount=1)。