Python은 QQ 사서함으로 이메일 보내기를 구현합니다.

머리말

먼저 메일함 통신 프로토콜인 SMTP 프로토콜을 이해해야 합니다.

SMTP(Simple Mail Transfer Protocol) 는 단순 메일 전송 프로토콜로, 소스 주소에서 대상 주소로 메일을 전송하기 위한 규칙
집합으로 , 편지 전송 방법을 제어합니다.
SMTP 프로토콜은 TCP/IP 프로토콜 제품군에 속하며,
편지를 보내거나 중계할 때 각 컴퓨터가 다음 목적지를 찾는 데 도움이 됩니다. SMTP 프로토콜에 의해 지정된 서버를 통해 E-mail은 수신자의 서버로 전송될 수 있으며 전체 프로세스는
몇 분 밖에 걸리지 않습니다. SMTP 서버는 SMTP 프로토콜을 따르고 나가는 이메일을 보내거나 중계하는 데 사용되는 보내는 이메일 서버입니다. SMTP
는 안정적이고 효율적인 이메일 전송을 제공하는 TCP 프로토콜에서 지원되는 애플리케이션 계층 프로토콜입니다.

작업 프로세스 먼저, 보내는 메일 서버 호스트에서 실행되는 SMTP 클라이언트는
받는 메일 서버 호스트에서 실행되는
SMTP 서버 포트 번호 25에 대한 TCP 연결 설정을 시작합니다.
수신 메일 서버가 현재 작동하지 않는 경우 SMTP 클라이언트는 연결을 시도하기 전에 일정 시간 동안 기다립니다 .

MIME 이메일 형식

간단한 ASCII로 인코딩된 이메일 형식은 RFC 2822 문서에 정의되어 있지만, 인터넷의 발달로 이메일은 단순한 텍스트만 전송하므로 사용자의 요구를 충족시킬 수 없습니다. 다양한 첨부 파일 형식, 새로운 확장 이메일 형식인 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('邮件发送失败')

Supongo que te gusta

Origin blog.csdn.net/qq_33655643/article/details/124485153
Recomendado
Clasificación