SMTPサーバーを使用してメールを送信する(Python)

多くのシナリオでは、コードの実行後に通知のためにテキストメッセージまたは電子メールを特定の人に送信する必要があるため、コードには電子メールおよび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」を選択し、

ポップアップインターフェースで、左側の列にある「クライアント認証パスワード」を探します。

ナビゲーションバーの[クライアント認証パスワード]をクリックして、次のインターフェイスを取得します。

インターフェースで[クライアント認証コードの設定]をクリックし、[オン]を選択してから、[クライアント認証コードのリセット](緑色のボタン)を実行してパスワードを変更します。このパスワードはコード内の認証コードで、例では******が付いています。

その後、正常にログインでき、プロテストが利用できます。

42件の元の記事を公開 賞賛4 10,000以上のビュー

おすすめ

転載: blog.csdn.net/wangyhwyh753/article/details/94478715