php エディター Zimo は、Go 言語の smtp パッケージを使用して電子メールを送信するときに問題が発生する可能性があることを皆さんに警告します。つまり、電子メール内にメッセージ本文が正しく表示されません。この問題により、電子メールで必要な情報が適切に伝達されなくなる可能性があります。この問題を解決する前に、まず smtp パッケージの使用方法と考えられる理由を理解しましょう。
それではメールを送りたいと思います。電子メールは Gmail の受信トレイに正常に送信されましたが、メッセージまたは本文が見つからないか空です。これはコードです
パッケージアシスタント
リーリー包主
リーリーヘルパー パッケージ内の次のコードでは、このコードはすでに存在し、smtp.sendmail() のパラメーターとして使用されていますが、電子メールにはまだメッセージがないか空です。
リーリー ###の解き方? 解決策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)) }
一部のメール サーバーは、ヘッダーのように見えないものの前にこの行を追加することでこの問題を解決します。一部のメール サーバーは、他の方法でこの問題を解決します。また、一部のサーバーは、このメッセージをそのまま受け入れますが、何らかの方法で表示します。この方法が失敗すると、一部のサーバーはこの不正な電子メールの直接送信を拒否します。
メッセージの予期される形式の詳細については、
rfc 5322 を参照してください。
以上がgo package smtp でメールのメッセージ本文が表示されないの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。