pergi pakej smtp tidak menunjukkan isi mesej pada e-mel

王林
Lepaskan: 2024-02-09 23:18:09
ke hadapan
998 orang telah melayarinya

go 包 smtp 未在电子邮件上显示消息正文

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.

Kandungan soalan

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))
}
Salin selepas log masuk

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()
}
Salin selepas log masuk

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
Salin selepas log masuk

Bagaimana untuk menyelesaikannya?

Penyelesaian

body := "Your verification code is: "+code

message := "From: "+ from + "\n" +
"To: " + to + "\n" +
"Subject: " + subject + "\n" +
body
Salin selepas log masuk

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!

Label berkaitan:
sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!