使用 Gmail 时,Gmail 界面中的发件人电子邮件很奇怪 API
Sender email is strange in gmail interface while using Gmail API
我使用 google.golang.org/api/gmail/v1
的方法发送消息 "me" userId
:
gm, err := gmail.NewUsersMessagesService(service).Send("me", gm).Do()
if err != nil {
return
}
比方说,我的电子邮件地址是 myemail@gmail.com
。我希望收件人在 From
字段中通过我的电子邮件(或姓名 + 姓氏)收到我的消息。但是,在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 必须检查电子邮件中的 headers,如果它无法以正确的方式识别 headers,它将使用默认值,例如例如 来自:myexample.
HERE 您可以查看有关 Go 的 Gmail 包的更多信息。
我使用 google.golang.org/api/gmail/v1
的方法发送消息 "me" userId
:
gm, err := gmail.NewUsersMessagesService(service).Send("me", gm).Do()
if err != nil {
return
}
比方说,我的电子邮件地址是 myemail@gmail.com
。我希望收件人在 From
字段中通过我的电子邮件(或姓名 + 姓氏)收到我的消息。但是,在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 必须检查电子邮件中的 headers,如果它无法以正确的方式识别 headers,它将使用默认值,例如例如 来自:myexample.
HERE 您可以查看有关 Go 的 Gmail 包的更多信息。