Rails ActionMailer - 格式发件人和收件人名称/电子邮件地址

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (74)

使用ActionMailer时,是否有指定发件人和收件人信息的电子邮件地址和名称的方法?

通常你会这样做:

@recipients   = "#{user.email}"
@from         = "info@mycompany.com"
@subject      = "Hi"
@content_type = "text/html"

但是,我想指定名称 - MyCompany <info@mycompany.com>John Doe <john.doe@mycompany>

有没有办法做到这一点?

提问于
用户回答回答于

如果您正在为用户输入姓名和电子邮件地址,那么除非您非常仔细地验证或转义姓名和电子邮件,否则只需串联字符串即可生成无效的From标头。这是一个安全的方法:

require 'mail'
address = Mail::Address.new email # ex: "john@example.com"
address.display_name = name.dup   # ex: "John Doe"
# Set the From or Reply-To header to the following:
address.format # returns "John Doe <john@example.com>"
用户回答回答于
@recipients   = "\"#{user.name}\" <#{user.email}>"
@from         = "\"MyCompany\" <info@mycompany.com>"

扫码关注云+社区

领取腾讯云代金券