【问题标题】:Send sender name with email SendGrid - Rails使用电子邮件发送发件人姓名 SendGrid - Rails
【发布时间】:2019-01-09 21:41:20
【问题描述】:

我正在使用SendGrid 从我的应用程序中发送电子邮件。我想发送sender name 和sender email,例如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

以上 3 对我来说似乎还可以,但是当我在其中使用其中任何一个时

email.from = SendGrid::Email.new(email: mail[:from].addrs.first.address)

它没有发送我的电子邮件,甚至我在 sendgrid 仪表板中也找不到我的电子邮件。

在this 之后也尝试了email.fromname,但这甚至不起作用。

【问题讨论】:

    标签: ruby-on-rails sendgrid


    【解决方案1】:

    看起来您正在混合宝石或物品。 SendGrid::Email.new 只需要一个from 字符串,并且可能支持name 字符串。您正在使用 mail[:from].addrs.first.address 从您的 mail[:from] 哈希中提取地址,但您需要提供名称作为不同的键。

    在SendGrid Ruby gem“厨房水槽”示例中,它们不会在 From 参数上显示 name,但在 personalization 上显示。

    试试:email.from = SendGrid::Email.new(email: 'support@maxcreet.com', name: 'Maxcreet'))

    或动态:email.from = SendGrid::Email.new(email: mail[:from].addrs.first.address, name: mail[:from].addrs.first.name))

    如果您的 mail 对象识别该密钥。

    否则,您需要查看 mail gem 的文档,了解如何从 mail[:from].addrs 对象中提取友好/显示名称。

    【讨论】:

      【解决方案2】:

      SendGrid 的 ruby​​ API 具有此选项,名称为 name 而不是 fromname。

      所以以下应该可以解决您的问题。

      email.from = SendGrid::Email.new(
        email: mail[:from].addrs.first.address, 
        name:  mail[:from].addrs.first.name
      )
      

      我通过this doc 尝试了这一点。

      【讨论】:

        猜你喜欢
        • 2018-01-20
        • 2018-11-08
        • 1970-01-01
        • 2015-01-30
        • 1970-01-01
        • 2021-10-23
        • 1970-01-01
        • 1970-01-01
        • 2015-04-12
        相关资源
        最近更新 更多