我正在使用 SendGrid
来从应用程序发送邮件。我想一起发送 发件人名称
和 发件人电子邮件
,例如: from: 'Maxcreet <contact@maxcreet.com>'
在使用 Letter Opener
和 MailTrap
时工作正常,但 SendGrid 只显示发件人电子邮件。
以下是我的 SendGrid 函数以发送邮件。
def deliver!(mail)
email.from = SendGrid::Email.new(email: mail[:from].addrs.first.address)
email.subject = mail.subject
email.add_personalization(build_personalization(mail))
build_content(mail)
send!(email)
end
我已经使用
puts
检查了mail[:from]
的值,得到以下结果:puts mail[:from] => Maxcreet <support@maxcreet.com>
puts mail[:from].addrs => Maxcreet <support@maxcreet.com>
puts mail[:from].addrs.first => Maxcreet <support@maxcreet.com>
puts mail[:from].addrs.first.address => support@maxcreet.com
上述三种方法对我来说看起来都不错,但当我在其中任何一种方法中使用时,会出现以下问题:
email.from = SendGrid::Email.new(email: mail[:from].addrs.first.address)
无法发送我的邮件,甚至在sendgrid控制台中也找不到我的邮件。
根据此链接的建议,我尝试使用email.fromname
,但这也没有起效。