和我一起来使用python发送邮件

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/Vivid_110/article/details/61645297

1、协议简介
SMTP称为简单邮件传输协议(Simple Mail Transfer Protocal),目标是向用户提供高效、可靠的邮件传输。它的一个重要特点是它能够在传送中接力传送邮件,即邮件可以通过不同网络上的主机接力式传送。通常它工作在两种情况下:一是邮件从客户机传输到服务器;二是从某一个服务器传输到另一个服务器。SMTP是一个请求/响应协议,它监听25号端口,用于接收用户的Mail请求,并与远端Mail服务器建立SMTP连接。
2、报文格式
smtp报文格式
3、发送过程
(1)建立TCP连接。
(2)客户端向服务器发送HELO命令以标识发件人自己的身份,然后客户端发送MAIL命令。
(3)服务器端以OK作为响应,表示准备接收。
(4)客户端发送RCPT命令。
(5)服务器端表示是否愿意为收件人接收邮件。
(6)协商结束,发送邮件,用命令DATA发送输入内容。
(7)结束此次发送,用QUIT命令退出。
4、测试邮箱申请和开启smtp(略去)
5、python代码实现

#encoding=utf8

from email.mime.text import MIMEText
import smtplib
from email.header import Header
# 初始化特定字段
from_addr = '[email protected]'
password = 'do_the_test'
to_addr = '[email protected]'
subject = 'python email test'
smtpserver = 'smtp.sina.com'

# 邮件内容设置
msg = MIMEText('This is a 傲娇的测试.', 'text', 'utf-8')  # 中文需参数‘utf-8’,单字节字符不需要
msg['Subject'] = Header(subject, 'utf-8')

# 连接
smtp = smtplib.SMTP()
smtp.connect('smtp.sina.com')
smtp.login(from_addr, password)

# 发送
smtp.sendmail(from_addr, to_addr, msg.as_string())

# 关闭
smtp.quit()

6、效果截图
截图一
截图二

猜你喜欢

转载自blog.csdn.net/Vivid_110/article/details/61645297