yagmail—邮件发送

该博客介绍了如何通过Python的yagmail库设置并使用SMTP来发送邮件,包括连接邮箱服务器、发送简单邮件、批量发送邮件以及发送带有附件的邮件。还提供了一个已封装好的邮件发送类,用于自动化邮件发送过程。
摘要由CSDN通过智能技术生成

前提:前往QQ邮箱开启SMTP端口,获得授权码
pip install yagmail

import yagmail

# 连接邮箱服务器
email = yagmail.SMTP(user="QQ邮箱",
                     password="授权码",
                     host="smtp.qq.com",# smtp服务器,每个邮箱各不相同,请自行百度
                     port=465)# 服务器端口,自行百度
# 发送一份简单的邮件
email.send(to="QQ邮箱",
           subject="测试邮件",  #标题
           contents="这是一封测试邮件...")   #内容

# 关闭邮箱服务器的连接
email.close()

#给多人发送邮件,只需要to=["邮箱1", "邮箱2"...]换成邮箱列表即可
#email.send(['aa@163.com','bb@qq.com','cc@gmail.com'], 'subject', contents)
#发送带附件的邮件
#email.send('aaaa@qq.com', '发送附件', contents, ["d://log.txt","d://baidu_img.jpg"])

如下是已封装好的类

# -*- encoding=utf8 -*-
import yagmail
import requests
import time
class Mail(object):
    @classmethod
    def sendmail(self,msg,title,receivers):
        """发送邮件
        Arguments:
            mst{str} ———邮件正文
            title{str} ————邮件标题
            receivers{list} ————邮件接收者,数组 """
        yag=yagmail.SMTP(
            host="smtp.qq.com",user="QQ邮箱",
            password="slycewbmwqzrfhbj",smtp_ssl=True,port=465
        )
        try:
            yag.send(subject=title,to=receivers,contents=msg)
            Mail.log() #打印时间
            print("邮件正常发送")
        except BaseException as e:
            print(e)
            print("error:无法发件邮件")

    @classmethod
    def log(self):
        noew_time=time.strftime(
            "%Y-%m-%d %H:%M:%S",time.localtime()
        )
        print(noew_time)
    def test(self):
        respoons=requests.get("http://www.baidu.com")
        if respoons.status_code!=200:
            print("访问失败")
        print("开始发送邮件")
        Mail.sendmail(msg=[r"D:\CAD作业打印及简历\plot.log",r"D:\CAD作业打印及简历\实训作业.jpg"],title="打开网页",receivers=["邮箱“],)
        #msg是内容,可以是文本,可以是文件等
a=Mail()
a.test()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值