如何在 Action Mailer 中指定发件人姓名

Abr*_*ram 3 ruby-on-rails

在 Gmail 中,以下电子邮件地址

class UserMailer < ActionMailer::Base
  default from: 'no-reply@example.com'
end
Run Code Online (Sandbox Code Playgroud)

变成这个(第二项)

在此处输入图片说明

无论如何让“发件人”地址为“无回复”但发件人名称更有意义吗?

我注意到我的电子邮件表单 SumAll 呈现为来自“SumAll”,但对地址的回复不同,如下所示:

From: =?utf-8?Q?SumAll?= <mailing@sumall.com>
Run Code Online (Sandbox Code Playgroud)

知道如何使用 Action Mailer 管理这个吗?

CDu*_*Dub 5

查看ActionMailer 文档的第 2.3.4 节

具体来说:

2.3.4 发送带姓名的邮件

有时您希望在他们收到电子邮件时显示此人的姓名,而不仅仅是他们的电子邮件地址。这样做的技巧是将电子邮件地址格式化为“全名”格式。

def welcome_email(user)
  @user = user
  email_with_name = "#{@user.name} <#{@user.email}>"
  mail(to: email_with_name, subject: 'Welcome to My Awesome Site')
end
Run Code Online (Sandbox Code Playgroud)

如果您的邮件中所有电子邮件的发件人相同,我建议您尝试default from: "Some name <some-email@example.com>"- 这也应该有效。