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

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 方法的正确签名,以使发件人姓名预览为姓名 + 姓氏或完整电子邮件?


侃侃尔雅
浏览 110回答 1
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 必须检查电子邮件中的标头,如果它不能以正确的方式识别标头,它将使用默认标头,例如来自myexample 的标头。
打开App,查看更多内容
随时随地看视频慕课网APP