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

如何使用 GO 使用 IMAP 在 Gmail 中创建草稿

如何使用 GO 使用 IMAP 在 Gmail 中创建草稿

Go
四季花海 2023-01-03 17:26:11
我想使用 GO 创建一条新消息(特别是草稿),该消息存储在我的收件箱中,所有内容都准备好在以后点击发送。我认为使用 SMTP 是行不通的。使用 IMAP 也许我可以。我该怎么做?
查看完整描述

1 回答

?
慕运维8079593

TA贡献1876条经验 获得超5个赞

package main


import (

    "bytes"

    "log"

    "os"

    "time"


    "github.com/emersion/go-imap"

    "github.com/emersion/go-imap/client"

)


func main() {

    log.Println("Connecting to server...")


    // Connect to server

    c, err := client.DialTLS(os.Getenv("IMAP_SERVER"), nil)

    if err != nil {

        log.Fatal(err)

    }

    log.Println("Connected")


    // Don't forget to logout

    defer c.Logout()


    // Login

    if err := c.Login(os.Getenv("IMAP_USER"), os.Getenv("IMAP_PASSWORD")); err != nil {

        log.Fatal(err)

    }

    log.Println("Logged in")


    // Write the message to a buffer

    var b bytes.Buffer

    b.WriteString("From: <...@gmail.com>\r\n")

    b.WriteString("To: <...@gmail.com>\r\n")

    b.WriteString("Subject: Append test\r\n")

    b.WriteString("\r\n")

    // Message body

    b.WriteString("Append test using Gmail IMAP and Draft folder")


    // Append it to Drafts

    if err := c.Append("[Gmail]/Drafts", nil, time.Now(), &b); err != nil {

        log.Fatal(err)

    }


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

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号