多くのシナリオでは、コードの実行後に通知のためにテキストメッセージまたは電子メールを特定の人に送信する必要があるため、コードには電子メールおよびSMSを送信する機能が必要です。ここでは、smtpサーバーを使用してメールを送信する機能部分のみを紹介します。使用した163メールボックスのsmtpサーバーで、編集言語はpython3です。
import smtplib
from email.mime.text import MIMEText
from email.header import Header
# from email.mime.multipart import MIMEMultipart
def mail_test():
# 发送用户名
sender = '[email protected]'
# 接收方
receiver = '[email protected]'
# 主题
subject = 'python email'
# 服务器地址
smtpserver = 'smtp.163.com'
# 登陆名,必须与发送用户名相同,否则会报错
username = '[email protected]'
# 授权码
password = '*****'
# 发送邮件内容
mail_body = '收到邮件请告诉我一下'
# print('11');
# 发送的消息 注意第二项必须为plain才能显示,如果为text,发送内容将会以二进制作为附件发送给对方。
# 如果是想要带有格式,可以采用html格式,第二项可以配置为'html',汉字发送,第三项需要设置为'utf-8'
msg = MIMEText(mail_body, 'plain', 'utf-8')
# 消息的主题
msg['Subject'] = Header(subject, 'utf-8')
# 消息来源主要是为了让接收方知道是谁发送的邮件,如果没有这项,邮件将会被当作垃圾邮件处理,发送不成功
msg['From'] = sender
# 作用同'From'
msg['To'] = receiver
# 调用smtplib模块进行发送,这块没啥坑
smtp = smtplib.SMTP()
smtp.connect(smtpserver)
smtp.login(username, password)
smtp.sendmail(sender, receiver, msg.as_string())
smtp.quit()
承認コードの1つであることに注意してください。プログラムを使用してログインすることは、Webページのメールボックスのパスワードとは異なります。これは、設定するメールボックスを送信するためにログインする必要があります。ここでは例として163メールボックスを送信します。
まずメニュー設定をクリックして、「pop3 / smtp / imap」を選択し、
ポップアップインターフェースで、左側の列にある「クライアント認証パスワード」を探します。
ナビゲーションバーの[クライアント認証パスワード]をクリックして、次のインターフェイスを取得します。
インターフェースで[クライアント認証コードの設定]をクリックし、[オン]を選択してから、[クライアント認証コードのリセット](緑色のボタン)を実行してパスワードを変更します。このパスワードはコード内の認証コードで、例では******が付いています。
その後、正常にログインでき、プロテストが利用できます。