【python发送邮件并使用类封装】

简单的邮件发送代码

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邮箱收件效果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值