我使用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方法的签名,以使发件人姓名预览为“姓名+姓氏”或完整的电子邮件?
答案 0 :(得分:1)
以这种方式建立您的信息以实现您想要的目标:
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必须检查电子邮件中的标头,如果无法正确识别标头,它将使用默认的标头,例如 from:myexample 。
HERE,您可以查看有关Go的Gmail软件包的更多信息。