Rumah > Artikel > pembangunan bahagian belakang > pergi pakej smtp tidak menunjukkan isi mesej pada e-mel
Editor PHP Zimo mengingatkan semua orang bahawa anda mungkin menghadapi masalah semasa menghantar e-mel menggunakan pakej smtp bahasa Go, iaitu badan mesej tidak dipaparkan dengan betul dalam e-mel. Isu ini mungkin menghalang e-mel daripada menyampaikan maklumat yang diperlukan dengan betul. Sebelum menyelesaikan masalah ini, mari kita fahami dahulu cara menggunakan pakej smtp dan kemungkinan sebabnya.
Jadi, saya ingin menghantar e-mel. E-mel telah berjaya dihantar ke peti masuk gmail, tetapi mesej atau kandungannya tiada atau kosong. Inilah kodnya
Pembantu Pek
func randomstringbytes() string { rand.seed(time.now().unixnano()) number := []byte("0123456789abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz") b := make([]byte, 6) for i := range b{ b[i] = number[rand.intn(len(number))] } return string(b) } func sendemail(to string, code string) error { from := "xxx" password := "xxx" smptserver := "smtp.gmail.com:587" subject := "verification code" body := "your verification code is: "+code message := "from: "+ from + "\n" + "to: " + to + "\n" + "subject: " + subject + "\n" + body auth := smtp.plainauth("", from, password, "smtp.gmail.com") return smtp.sendmail(smptserver, auth, from, []string{to}, []byte(message)) }
Packmaster
func emailverify() { email := "xxx" code := helper.randomstringbytes() fmt.println("code:", code) err := helper.sendemail(email, code) if err != nil { fmt.println("error sending email:", err) return } } func main(){ emailverify() }
Dalam kod berikut dalam pakej pembantu, ia sudah wujud dan digunakan sebagai parameter dalam smtp.sendmail() tetapi e-mel masih tiada mesej atau kosong
message := "From: "+ from + "\n" + "To: " + to + "\n" + "Subject: " + subject + "\n" + body
Bagaimana untuk menyelesaikannya?
body := "Your verification code is: "+code message := "From: "+ from + "\n" + "To: " + to + "\n" + "Subject: " + subject + "\n" + body
Perlu ada baris kosong antara pengepala mesej dan badan mesej, tetapi ia tiada di sini.
Sesetengah pelayan mel akan menyelesaikan masalah ini dengan menambah baris ini sebelum apa-apa yang tidak kelihatan seperti pengepala, sesetengah pelayan mel akan menyelesaikan masalah ini dengan cara lain, sesetengah pelayan akan menerima mesej ini sebagaimana adanya, tetapi paparan akan dipaparkan dalam cara tertentu Kegagalan, sesetengah pelayan akan menolak untuk menghantar e-mel yang salah bentuk ini secara terus.
Untuk maklumat lanjut tentang jangkaan kemunculan mesej, lihat rfc 5322.
Atas ialah kandungan terperinci pergi pakej smtp tidak menunjukkan isi mesej pada e-mel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!