简单的邮件发送代码
import smtplib # 发送邮件
from email.mime.text import MIMEText # 邮件文本
# 以163邮箱为例
SMTP_server = 'smtp.163.com'
Sender = 'xxx@163.com' # 发件人邮箱
Password = 'JUBMSUDZGUxxxx' # 密码为授权码,在设置-SMTP-开启后会显示
Receiver = 'xxxx@qq.com' # 接收者
title = '这是邮件发送测试标题' # 发送邮件标题
text = '这是邮件发送测试内容。' # 发送邮件正文
Message = MIMEText(text) # 邮件文本
Message['Subject'] = title # 邮件标题
Message['From'] = Sender # 发送者
Message['To'] = Receiver # 接收者
mail_server = smtplib.SMTP(SMTP_server, 25) # 连接端口
mail_server.login(Sender, Password) # 登录
mail_server.sendmail(Sender, Receiver, Message.as_string()) # 发送邮件
mail_server.quit()
print('发送成功')
qq邮箱收件效果:
使用类封装
使用163SMTP服务发送:
import smtplib # 发送邮件
from email.mime.text import MIMEText # 邮件文本
class SendMail:
def __init__(self, SMTP_server: str, port: int, Sender: str, Password: str):
"""
:param SMTP_server: smtp服务器
:param port: 端口
:param Sender: 用户名
:param Password: 密码(生成的授权密码)
"""
self.SMTP_server = SMTP_server
self.port = port
self.Sender = Sender # 发件人邮箱
self.Password = Password # 密码为授权码,在设置-SMTP-开启后会显示
def send(self, Receiver: str, title: str, test: str):
"""
:param Receiver: 收件人
:param title: 标题
:param test: 内容
:return:
"""
message = MIMEText(test) # 邮件文本
message['Subject'] = title # 邮件标题
message['From'] = self.Sender # 发送者
message['To'] = Receiver # 接收者
mail_server = smtplib.SMTP(self.SMTP_server, self.port) # 连接端口
mail_server.login(self.Sender, self.Password) # 登录
mail_server.sendmail(self.Sender, Receiver, message.as_string()) # 发送邮件
mail_server.quit()
print('发送成功')
my_send = SendMail('smtp.163.com', 25, 'xxx@163.com', 'JUBMSUDZGUxxxxxx')
my_send.send('xxx@qq.com', '标题测试', '内容测试')
效果同上。
使用qqSMTP服务发送:
只需要改倒数第两二行:
my_send = SendMail('smtp.qq.com', 587, 'xxx@qq.com', 'bjyxpxyohxplxxxx')
163邮箱收件效果: