登录
首页 >  Golang >  Go问答

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

来源:stackoverflow

时间:2024-04-11 21:12:31 175浏览 收藏

偷偷努力,悄无声息地变强,然后惊艳所有人!哈哈,小伙伴们又来学习啦~今天我将给大家介绍《使用 Gmail API 时,发件人电子邮件在 Gmail 界面中很奇怪》,这篇文章主要会讲到等等知识点,不知道大家对其都有多少了解,下面我们就一起来看一吧!当然,非常希望大家能多多评论,给出合理的建议,我们一起学习,一起进步!

问题内容

我使用 google.golang.org/api/gmail/v1 的方法来发送带有“me”userid 的消息:

gm, err := gmail.NewUsersMessagesService(service).Send("me", gm).Do()
    if err != nil {
        return
    }

假设我的电子邮件地址是 [电子邮件受保护]。我希望收件人会在 from 字段中收到包含我的电子邮件(或姓名 + 姓氏)的消息。然而,在gmail界面中它显示为myemail。 我手动设置电子邮件时也出现同样的情况。

您能否帮我找出此 api 方法的正确签名,以使发件人姓名预览为姓名 + 姓氏或完整电子邮件?


解决方案


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

user := "me"
    full_name := "John Doe"
    email := "[email protected]"

    // New message for our gmail service to send
    var message gmail.Message

    // Compose the message
    messageStr := []byte(
        "From: " + full_name + "<" + email + ">" + "\r\n" +
            "To: [email protected]\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 软件包的更多信息。

今天关于《使用 Gmail API 时,发件人电子邮件在 Gmail 界面中很奇怪》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>