初识python3邮件发送

初识python3邮件发送

前不久学习了一下python是如何发送邮件到指定邮箱,python使用版本为python3.7。

直接上脚本,相关描述见代码注释:

# !/usr/bin/python3
#导入smtplib包,引用对应插件
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr


class email():

    def to_send(self, msg, Msender, Mpass, Mreceiver=[]):
        """
        参数讲解
        :param msg: 邮件正文
        :param Msender: 发送者邮箱
        :param Mpass: 发送者服务器授权码
        :param Mreceiver: 接收者(多个)
        :return: 返回状态 True 发送成功  False 发送失败
        """
        result = True
        try:
            # 对需要传送的消息进行编码
            Mcontent = MIMEText(msg, 'html', 'utf-8')
            # formataddr中分别是发送人的昵称和发送邮箱
            Mcontent['From'] = formataddr(["sender'name", Msender])
            # 括号里分别是收件人邮箱昵称、收件人邮箱账号(由于本例子是做的一个多接收者示例,因此增加了一个循环去添加接收人信息)
            for tmp in Mreceiver:
                Mcontent['To'] = formataddr(["checker", tmp])
            # 邮件的主题
            Mcontent['Subject'] = "Daily Check Test"

            # 建立服务,括号中分别是发件人邮箱中的SMTP服务器地址、端口号,下诉例子中使用的是QQSMTP服务器
            server = smtplib.SMTP_SSL("smtp.qq.com", 465)
            # 括号中分别是发件人邮箱账号、授权码(开启QQ邮箱SMTP服务后,会得到该授权码)
            server.login(Msender, Mpass)
            # 括号中对应的是发件人邮箱账号、收件人邮箱账号、邮件内容
            server.sendmail(Msender, Mreceiver, Mcontent.as_string())
            # 关闭连接
            server.quit()
        # 抛出邮件发送过程中的异常消息
        except Exception as err:
            result = False
            print(err)
        return result

# 添加一个主函数进行示例调用
if __name__ == '__main__':
    s = email()
    receiver = ["接收邮箱1", "接收邮箱2", ...]
    res = s.to_send("邮件正文", "发送邮箱", "服务授权码", receiver)
    if res:
        print("send success!!!")
    else:
        print("send error!!!")

记录完毕!!!好好学习,天天向上!!!

更多邮件发送方式,请参考:
链接: [https://www.runoob.com/python3/python3-smtp.html]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值