1、次のように:
インポートしたりするsmtplib から email.message からEmailMessageの #たりするsmtplibモジュールは、メールサービスの送信を担当し #1 たりするsmtplibのへのメッセージ、および送信を構築するための責任があるemail.messageモジュールを #カスタムSMTPサーバーのアドレス = SMTP_SERVER 「smtp.163.com 」 #は、送信者アドレスの定義 from_addrを= " ***********@163.com " #は、パスワードの定義 パスワードを= ' ********** ' #は、受信者の定義 = to_addrを" ****** ****@qq.com 「 #作成SMTP接続 コネチカット= smtplib.SMTP_SSL(SMTP_SERVER、465 ) conn.set_debuglevel( 1) Conn.login(from_addr、パスワード) #メッセージオブジェクトの作成 MSGを= EmailMessageの() #は、メールの内容を設定する (msg.set_contentを' こんにちは、私は、Pythonを使用して電子メールを送信する方法をテストしてい'、' 普通'、' UTF-8 ' ) #は、メッセージの件名の設定 MSGの[ ' 件名' ] = " テストモジュールたりするsmtplibメール" MSGの[ ' から' ] = from_addr MSGの[ ' に' ] = to_addr #送信電子メールを conn.sendmail(from_addr、[to_addr]、msg.as_string()) #退出连接 conn.quit()
2、一般的な例外を解決
2.1SMTPAuthenticationError
#送信者アドレスの定義 = from_addr " ***********@163.com " #は、パスワードの定義 パスワードを= ' ********** ' #は、受信者を定義する = to_addr " **********@qq.com " #SMTP接続を作成 コネティカット= smtplib.SMTP_SSL(SMTP_SERVER、465 ) conn.set_debuglevel( 1 ) conn.login(from_addr、パスワード)
パスワードでconn.login(from_addr、パスワードは)ので、このエラーが発生し、クライアントのログインパスワードではありません、それは再び言う、クライアントのログインパスワードではありません、認証コードで、次のコードはに許可を取得する方法を示しています
一例として、網易のメールボックス:
下記に示すインタフェースにログインした後:
POP3 / SMTP / IMAPの内側に設定し、ページにクリックして、クライアントをクリックして矢印ライセンスコードによって示されました
あなたはそれがリセットの要件に合わせてステップバイステップで、その後、その上にパスワードとしてリセットするために彼の認証コードを使用覚えていない場合は、リセットするために覚えていない場合は、クライアントのライセンスキーは、オンになっている設定してください。
2.2SMTPDataError
電子メールの情報が完全に提供されていないため、これが異常発生します
#は、メッセージオブジェクトの作成 MSGを= EmailMessageの() #のメール内容のアップセット msg.set_contentは(「こんにちは、私は、Pythonを使用して電子メールを送信する方法をテストしてい」、「普通」、「UTF-8 」) #送信メール conn.sendmail(from_addr [to_addr]、msg.as_string()) #1 からの出口 conn.quit()
从上述代码中,我们知道从创建邮件对象开始,只设置了邮件内容,所有才会出现这样的错误,还有设置至少三个信息,这些信息会显示在你的邮件中。
# 邮件主题 msg['subject'] = "一封测试smtplib模块的邮件" # 邮件发送者 msg['from'] = from_addr # 邮件接收者 msg['to'] = to_addr
邮件对象添加这三个信息后,就能发送成功了。
3、参考链接
http://c.biancheng.net/view/2665.html
https://www.cnblogs.com/fengyiru6369/p/7472679.html
https://blog.csdn.net/qq_40423339/article/details/87866001