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

我在 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


鸿蒙传说
浏览 257回答 3
3回答

慕桂英3389331

您可以检查像这样的项目是否jpoehls/gophermail效果更好。它有一个测试用例像这样的:m.SetFrom("Domain&nbsp;Sender&nbsp;<sender@domain.com>")它在内部(main.go)调用SetMailAddress()的方法,mail.ParseAddress()这是应该遵循&nbsp;RFC 5322。

慕码人8056858

我认为您可以使用mail.Address并使用Address.String函数格式化地址func&nbsp;(a&nbsp;*Address)&nbsp;String()&nbsp;string字符串将地址格式化为有效的 RFC 5322 地址。如果地址的名称包含非 ASCII 字符,则名称将根据 RFC 2047 呈现。我写例子:go_smtp.go
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go