[英]How do I create a draft in Gmail using IMAP using GO
I would like to use GO to create a new message ( specifically a draft ) that is stored in my inbox with everything ready to hit send at a later date.我想使用 GO 创建一条新消息(特别是草稿),该消息存储在我的收件箱中,所有内容都可以在以后发送。 With SMTP I think it won't work.
使用 SMTP 我认为它不起作用。 With IMAP maybe I can.
使用 IMAP 也许我可以。 How do I go about this?
我该如何 go 关于这个?
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)
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.