我使用google.golang.org/api/gmail/v1
的方法用于发送带有“我”的消息userId
:
gm, err := gmail.NewUsersMessagesService(service).Send("me", gm).Do()
if err != nil {
return
}
比方说,我的电子邮件地址是
myemail@gmail.com
.我希望收件人会收到我在 From
中的电子邮件(或姓名 + 姓氏)的消息 field 。但是,在 gmail 界面中显示为 myemail
.我手动设置电子邮件时的情况相同。
您能否帮我找出此 API 方法的正确签名,以使发件人姓名预览为姓名+姓氏或完整的电子邮件?
最佳答案
以这种方式构建您的信息以实现您的愿望:
user := "me"
full_name := "John Doe"
email := "myexample@gmail.com"
// New message for our gmail service to send
var message gmail.Message
// Compose the message
messageStr := []byte(
"From: " + full_name + "<" + email + ">" + "\r\n" +
"To: sendto@gmail.com\r\n" +
"Subject: My first Gmail API message\r\n\r\n" +
"Message body goes here!")
// Place messageStr into message.Raw in base64 encoded format
message.Raw = base64.URLEncoding.EncodeToString(messageStr)
// Send the message
_, err = service.Users.Messages.Send(user, &message).Do()
if err != nil {
log.Printf("Error: %v", err)
} else {
fmt.Println("Message sent!")
}
这是因为 API 必须检查电子邮件的 header ,如果它不能以正确的方式识别 header ,它将使用默认的 header ,例如 来自:myexample .
HERE您可以查看有关 Go 的 Gmail 包的更多信息。
关于go - 使用 Gmail API 时,Gmail 界面中的发件人电子邮件很奇怪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58734439/