Python は QQ メールボックスへの電子メールの送信を実装します

序文

まず、メールボックス通信プロトコル SMTP プロトコルを理解する必要があります。

SMTP (Simple Mail Transfer Protocol) は、
単純なメール転送プロトコルであり、送信元アドレスから宛先アドレスにメールを送信するための一連の
ルールであり、文字の転送方法を制御します。SMTP プロトコルは TCP/IP プロトコル スイートに属しており、各コンピュータが
手紙を送信または中継するときに次の宛先を見つけるのに役立ちます。SMTP プロトコルで指定されたサーバーを介して、電子メールを受信者のサーバーに送信することができ、プロセス全体に
かかる時間はわずか数分です。SMTP サーバーは、SMTP プロトコルに準拠した送信電子メール サーバーであり、送信電子メールの送信または中継に使用されます。SMTP
は、TCP プロトコルによってサポートされるアプリケーション層プロトコルであり、信頼性が高く効率的な電子メール送信を提供します。

作業プロセスまず、送信メール サーバー ホストで実行されている SMTP クライアントは
、受信メール サーバー ホストで実行されている
SMTP サーバーのポート番号 25 への TCP 接続の確立を開始します。受信メール サーバーが現在動作していない場合、SMTP クライアントは一定時間待機してから
接続の確立を試行します。

MIMEメール形式

RFC 2822 文書では、単純な ASCII エンコードの電子メール形式が定義されていますが、インターネットの発展により、電子メールは単純なテキストのみを送信するだけで、大量の HTML、画像、音声を送信するためにユーザーのニーズを満たすことができなくなりました。 、さまざまな添付ファイル形式、新しい拡張電子メール形式が登場 - MIME

2. コード

import smtplib,time
from email.mime.text import MIMEText#发送文本
from email.mime.multipart import MIMEMultipart#生成多个部分的邮件体
from email.mime.application import MIMEApplication#发送图片

#定义发件人和收件人
sender='[email protected]'#发送邮箱
receivers='[email protected]'#接收邮箱
#构建邮件的主体对象
body='''
'这是一个测试文件'
<a href="www.baidu.com">点开有惊喜</a>
'''
msg=MIMEMultipart()
content=MIMEText(body,'html','utf-8')#plain以文本形式发送,html以html格式发送
msg['Subject']='test测试'#文章标题
msg['From']=sender#发送人
msg['To']=receivers#收信人
qqcode='wiluumzazwszdfafj'
msg.attach(content)#把邮件内容拼接到msg里面
#建立与邮件服务器的连接并发送邮件,qq要发多封,sleep
try:
    smtpObj=smtplib.SMTP_SSL('smtp.qq.com',465)#实例化 基于ssl,则smtplib.SMTP_SSL
    smtpObj.login(user='[email protected]',password='xxxxxxxx')
    smtpObj.sendmail(sender,receivers,msg.as_string())
    smtpObj.quit()
    print('邮件发送成功')
except:
    print('邮件发送失败')

おすすめ

転載: blog.csdn.net/qq_33655643/article/details/124485153