简介:讲解发送邮件的基础知识
1、邮件发送的基本过程与概念
邮件服务器 :类似于现实生活中的邮局,它主要负责接收用户投递过来的邮件,并把邮件投递到邮件接收者的电子邮箱中
电子邮箱 :用户在邮件服务器上申请的一个账户
from:xxx@xx.com ----发件人
to:xxx@xx.com ----收件人
subject:hello ----主题
body: 欢迎学习 -----内容体
2、邮件传输协议
SMTP协议:全称为 Simple Mail Transfer Protocol,简单邮件传输协议。它定义了邮件客户端软件和SMTP邮件服务器之间,以及两台SMTP邮件服务器之间的通信规则
POP3协议:全称为 Post Office Protocol,邮局协议。它定义了邮件客户端软件和POP3邮件服务器的通信规则
IMAP协议:全称为 Internet Message Access Protocol,Internet消息访问协议,它是对POP3协议的一种扩展,也是定义了邮件客户端软件和IMAP邮件服务器的通信规则
QQ邮箱(mail.qq.com)
POP3服务器地址:pop.qq.com(端口:110)
SMTP服务器地址:smtp.qq.com(端口:25)
# -*- coding: UTF-8 -*-
import smtplib
import os,time,datetime
from email.mime.text import MIMEText
from email.header import Header
#收件人
sender = "15@qq.com"
receiver = "13@qq.com"
#不用密码发送,而是用授权码
auth_code = "e"
#主题
subject = "自动化测试报告"
#第一个参数为消息体,第二个参数为发送的类型,第三个参数为编码
#定义发送内容
msg = MIMEText("<html><h2>测试报告</h2></html>",_subtype= "html",_charset="utf-8")
msg["Subject"] = subject
msg["from"] = sender
msg["to"] = receiver
#返回一个邮箱对象,连上qq邮箱的smtp地址
smtp = smtplib.SMTP()
smtp.connect("smtp.qq.com")
#登录
smtp.login(sender,auth_code)
smtp.sendmail(sender,receiver,msg.as_string())
smtp.quit()
qq授权码获取位置
image.png
运行结果
image.png