为了账号安全,请及时绑定邮箱和手机立即绑定

通过 smtp 发送电子邮件并更改发件人的姓名

通过 smtp 发送电子邮件并更改发件人的姓名

Go
鸿蒙传说 2021-09-09 15:04:03
我在 golang 中通过 smtp 发送电子邮件,效果很好。要设置电子邮件的发件人,我使用Client.Mail功能:func (c *Client) Mail(from string) error当收件人收到电子邮件时,他将发件人视为明文电子邮件地址: sender@example.com我想要显示像发件人:Sandy Sender <sender@example.com>。这可能吗?我尝试将发件人设置为Sandy Sender <sender@example.com>or onlySandy Sender但它们都不起作用。我收到错误501 5.1.7 Invalid address
查看完整描述

3 回答

?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

您可以检查像这样的项目是否jpoehls/gophermail效果更好。

它有一个测试用例像这样的:

m.SetFrom("Domain Sender <sender@domain.com>")

它在内部(main.go)调用SetMailAddress()的方法,mail.ParseAddress()这是应该遵循 RFC 5322。


查看完整回答
反对 回复 2021-09-09
?
慕码人8056858

TA贡献1803条经验 获得超6个赞

我认为您可以使用mail.Address并使用Address.String函数格式化地址

func (a *Address) String() string

字符串将地址格式化为有效的 RFC 5322 地址。如果地址的名称包含非 ASCII 字符,则名称将根据 RFC 2047 呈现。

我写例子:

go_smtp.go


查看完整回答
反对 回复 2021-09-09
  • 3 回答
  • 0 关注
  • 256 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信