2025-08-01 00:54:13 +08:00
|
|
|
package mail_test
|
2025-05-01 16:32:41 +08:00
|
|
|
|
|
|
|
import (
|
|
|
|
"fmt"
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
"apigo.cc/gojs"
|
2025-08-01 00:54:13 +08:00
|
|
|
_ "apigo.cc/gojs/console"
|
2025-05-01 16:32:41 +08:00
|
|
|
"github.com/ssgo/u"
|
|
|
|
)
|
|
|
|
|
|
|
|
func TestPlugin(t *testing.T) {
|
2025-08-01 00:54:13 +08:00
|
|
|
// c, err := imapclient.DialTLS("imap.126.com:993", nil)
|
|
|
|
// if err != nil {
|
|
|
|
// log.Fatalf("failed to dial IMAP server: %v", err)
|
|
|
|
// }
|
|
|
|
// defer c.Close()
|
|
|
|
|
|
|
|
// c.ID(&imap.IDData{
|
|
|
|
// Name: "Apigo Mail Client",
|
|
|
|
// Version: "1.0.0",
|
|
|
|
// Vendor: "apigo.cc",
|
|
|
|
// SupportURL: "https://apigo.cc/gojs/mail",
|
|
|
|
// OS: runtime.GOOS,
|
|
|
|
// })
|
|
|
|
|
|
|
|
// if err := c.Login("api_go@126.com", "ZZEQWMBONBXZGVKY").Wait(); err != nil {
|
|
|
|
// log.Fatalf("failed to login: %v", err)
|
|
|
|
// }
|
|
|
|
|
|
|
|
// mailboxes, err := c.List("", "%", nil).Collect()
|
|
|
|
// if err != nil {
|
|
|
|
// log.Fatalf("failed to list mailboxes: %v", err)
|
|
|
|
// }
|
|
|
|
// log.Printf("Found %v mailboxes", len(mailboxes))
|
|
|
|
// for _, mbox := range mailboxes {
|
|
|
|
// log.Printf(" - %v", mbox.Mailbox)
|
|
|
|
// }
|
|
|
|
|
|
|
|
// selectedMbox, err := c.Select("INBOX", nil).Wait()
|
|
|
|
// if err != nil {
|
|
|
|
// log.Fatalf("failed to select INBOX: %v", err)
|
|
|
|
// }
|
|
|
|
// log.Printf("INBOX contains %v messages", selectedMbox.NumMessages)
|
|
|
|
|
|
|
|
// if selectedMbox.NumMessages > 0 {
|
|
|
|
// seqSet := imap.SeqSetNum(1)
|
|
|
|
// fetchOptions := &imap.FetchOptions{Envelope: true}
|
|
|
|
// messages, err := c.Fetch(seqSet, fetchOptions).Collect()
|
|
|
|
// if err != nil {
|
|
|
|
// log.Fatalf("failed to fetch first message in INBOX: %v", err)
|
|
|
|
// }
|
|
|
|
// log.Printf("subject of first message in INBOX: %v", messages[0].Envelope.Subject)
|
|
|
|
// }
|
|
|
|
|
|
|
|
// if err := c.Logout().Wait(); err != nil {
|
|
|
|
// log.Fatalf("failed to logout: %v", err)
|
|
|
|
// }
|
|
|
|
|
|
|
|
// return
|
2025-05-01 16:32:41 +08:00
|
|
|
gojs.ExportForDev()
|
2025-08-01 00:54:13 +08:00
|
|
|
r, err := gojs.RunFile("mail_test.js")
|
2025-05-01 16:32:41 +08:00
|
|
|
if err != nil {
|
|
|
|
t.Fatal(err)
|
|
|
|
} else if r != true {
|
|
|
|
t.Fatal(r)
|
|
|
|
} else {
|
|
|
|
fmt.Println(u.BGreen("test succeess"))
|
|
|
|
}
|
|
|
|
}
|