登录
首页 >  Golang >  Go问答

使用Go编程语言访问Gmail API

来源:stackoverflow

时间:2024-03-18 13:57:18 179浏览 收藏

本文提供了使用 Go 编程语言访问 Gmail API 的方法,以便从一个电子邮件帐户向另一个电子邮件帐户发送电子邮件。尽管 Google 网站上关于此主题的文档有限,但本文提供了一个代码片段,展示了如何创建电子邮件草稿,包括设置发件人、收件人、主题和正文,以及附加文件。该代码使用 gomail 库创建电子邮件消息,并将其编码为 base64,然后将其存储在 Gmail API 草稿中。

问题内容

我想创建一个 API,使用 gmail API 将电子邮件从我的电子邮件帐户发送到另一个电子邮件帐户。然而,在google的网站上没有太多这方面的文档,主要是java和python。我想知道是否有人能够解决这个问题。请帮忙。谢谢!


正确答案


以下是用于创建电子邮件草稿的代码片段:

var draft gmail.Draft
var m = gomail.NewMessage()
m.SetHeader("From", "your email")
m.SetHeader("To", "other email")
m.SetHeader("Subject", "test")
m.SetBody("text/plain", "Hello")

// if you want to attach files to the draft email
for _, attachment := range Attachments {
    m.Attach(attachment)
}
buffer := new(bytes.Buffer)
if _, err = m.WriteTo(buffer); err != nil {
    return nil, err
}
var msg gmail.Message
msg.Raw = base64.URLEncoding.EncodeToString(buffer.Bytes())
draft.Message = &msg
result, err := srv.Users.Drafts.Create(caller.Email, &draft).Do()
if err != nil {
    return nil, fmt.Errorf("create draft failed: %s", err.Error())
}

理论要掌握,实操不能落!以上关于《使用Go编程语言访问Gmail API》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

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