Apabila penggunaan e-mel semakin meluas, kerja pembangunan yang berkaitan menjadi semakin biasa. Memadam e-mel adalah keperluan biasa di Golang, jadi dalam artikel ini, kami akan meneroka cara memadam e-mel menggunakan Golang.
Langkah pertama, persediaan
Sebelum kita mula memadamkan e-mel, kita perlu menyiapkan beberapa persediaan. Pertama, kita perlu menggunakan perpustakaan pihak ketiga untuk mengakses perkhidmatan e-mel. Dalam artikel ini, kami memilih untuk menggunakan pustaka Go-IMAP. Pustaka ini boleh mengakses pelayan IMAP dan mendapatkan semula mel.
Untuk memasang pustaka Go-IMAP, anda boleh menggunakan arahan berikut:
go get github.com/emersion/go-imap go get github.com/emersion/go-imap/client
Kami juga perlu mengetahui UID mesej yang ingin kami padamkan. UID ialah pengecam unik untuk setiap mesej pada pelayan IMAP. Kami boleh mendapatkan UID mel menggunakan:
client, err := imap.DialTLS(addr, nil) if err != nil { log.Fatal(err) } defer client.Logout() if err := client.Login(username, password); err != nil { log.Fatal(err) } defer client.Select(mailbox, false) uids, err := client.Search( imap.NewSearchCriteria( imap.HeaderSubject("Your email subject"), ), ) if err ! = nil { log.Fatal(err) } if len(uids) < = 0 { log.Fatalf("No email found") } uid := uids[0]
Dalam contoh ini, kami mula-mula menyambungkan klien ke pelayan dan log masuk. Kami kemudian memilih peti mel dan mencari mesej dengan subjek tertentu. Jika mesej ditemui, dapatkan UID mesej pertama.
Langkah kedua, padamkan e-mel
Sebaik sahaja anda mempunyai UID e-mel, anda boleh memadamkan e-mel dengan kod berikut:
seqSet := new(imap.SeqSet) seqSet.AddNum(uid) if err := client.UidStore(seqSet, "+FLAGS.SILENT", imap.NewFlagSet(imap.DeletedFlag), nil); err != nil { log.Fatal(err) } if err := client.Expunge(nil); err ! = nil { log.Fatal(err) }
Dalam contoh ini, kami menggunakan UID mencipta set jujukan. Kami kemudian menggunakan UID untuk menyimpan mesej dan menandakannya sebagai dipadamkan. Gunakan kaedah Expunge untuk memadamkan mesej yang dipilih secara kekal.
Ringkasan
Dalam artikel ini, kami mempelajari cara memadam e-mel menggunakan Golang. Kami menggunakan pustaka Go-IMAP untuk menyambung ke pelayan IMAP dan mendapatkan semula UID mesej dan kemudian menggunakan UID ini untuk memadamkan mesej. Ini adalah kaedah yang mudah tetapi berkuasa untuk memadam mesej dengan mudah.
Atas ialah kandungan terperinci Bagaimana untuk memadam e-mel menggunakan Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!