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

如何使用 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 关注
  • 120 浏览
慕课专栏
更多

添加回答

举报

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