1. SMTPサーバーにログインします
まずオンライン方法を使用します (ここでは 163 の電子メールを使用します。smtp.163.com は smtp サーバーのアドレス、25 はポート番号です):
見つかった戻り値:
、プロンプトの検証が失敗しました。
Python が SMTP サービスをサポートしていないか、サービスがオンになっていないという人もいます。しかし、最後に Foxmail を使用して 163 メールボックスにログインしたとき、正しいパスワードを入力したのに、パスワードが間違っているというメッセージが表示されたことを思い出しました。最終的な解決策は、QQ および 163 メールボックスにはクライアント パスワードが設定されており、サードパーティ ログインする際にはクライアントのパスワードを使用してログインする必要がありますが、Pythonでも同様ですので、クライアントのパスワードを設定し、クライアントのパスワードでログインしてください。
この時点で、ログイン成功のプロンプトが返されます:
2. メールを送信します
まずオンラインで提供されたコードを使用します:
MIMEText オブジェクトを構築する場合、最初のパラメータは電子メール本文、2 番目のパラメータは MIME サブタイプ、最後のパラメータはエンコード方式です。
Sendmail は電子メールを送信するためのメソッドです。最初のパラメータは送信側の電子メール アドレスで、2 番目のパラメータは受信者の電子メール アドレスです。つまり、as_string は同時に複数の人に送信できます。オブジェクトを str に挿入します。
ただし、実行結果はオンラインで言及されている結果を取得できません:
代わりに:
オンラインで確認したところ、次のことがわかりました: smtplib.SMTPDataError: (554, 'DT:SPM 163 smtp11... このエラーは、エンベロープ送信者とレターヘッド送信者が一致しないためです。 送信者とレターヘッドが存在しないことがわかりますテーマなので、コードを次のように変更する必要があります:
これでメールを正常に送信できます
msg 内の特定の情報は、通常の電子メール方法を使用して電子メールを送信することでテストできます
3.参考例