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

使用 Gmail API 时,发件人电子邮件在 Gmail 界面中很奇怪

使用 Gmail API 时,发件人电子邮件在 Gmail 界面中很奇怪

Go
侃侃尔雅 2023-07-31 17:17:08
google.golang.org/api/gmail/v1我使用“我”发送消息的方法userId:gm, err := gmail.NewUsersMessagesService(service).Send("me", gm).Do()    if err != nil {        return    }假设我的电子邮件地址是myemail@gmail.com。我希望收件人会收到我的邮件,其中包含我的电子邮件(或姓名 + 姓氏)From。然而,在gmail界面中它显示为myemail. 我手动设置电子邮件时也出现同样的情况。您能否帮我找出此 API 方法的正确签名,以使发件人姓名预览为姓名 + 姓氏或完整电子邮件?
查看完整描述

1 回答

?
萧十郎

TA贡献1815条经验 获得超13个赞

以这种方式构建您的信息以实现您的愿望:


    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 必须检查电子邮件中的标头,如果它不能以正确的方式识别标头,它将使用默认标头,例如来自myexample 的标头。


查看完整回答
反对 回复 2023-07-31
  • 1 回答
  • 0 关注
  • 161 浏览
慕课专栏
更多

添加回答

举报

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