• python学习笔记(十九)发送邮件


          在python开发项目或者做自动化测试时候,在测试完成后需要将测试结果总结后进行上报,那么我们就可以通过发送邮件来完成这项工作。

         下面我们来看看python中怎么发送邮件的,python中发送邮件可以使用smtplib模块或者yagmail模块,其实yagmail模块里面已经封装了smtplib模块,所以下面我们直接学习下yagmail模块发送邮件。模块可在我的网盘下载:https://pan.baidu.com/s/1hvS78sv6-XOwBLXLOIa5GQ,下载之后pip install yagmail-0.10.212-py2.py3-none-any.whl,然后直接import导入即可。代码如下:

    import yagmail
    username = '123456789@qq.com'  #发送者账号
    passwd = 'xxxxxxxxxxxxxx'    #发送者授权码,如果不需要授权码就写成密码    
    mail = yagmail.SMTP(user=username,
                        password=passwd,
                        host='smtp.qq.com',   #邮箱地址
                        smtp_ssl=True
                        ) #如果用的是qq邮箱或者你们公司的邮箱使用是安全协议的话,需要加上smtp_ssl=True                    
    mail.send(
        to=['123123123@qq.com','16774483@qq.com'], #收件人邮箱,如果多个收件人的话,写成list就行了
        cc='789789789@qq.com',#抄送者邮箱,如果是多人,写成list
        subject='学习发送邮件',#邮件标题
        contents='你好,你今天开心吗?',#邮件正文
        attachments=[r'D:syz_pythoncodeday9签名规则',
                     r'D:syz_pythoncodeday9继承.py']) #发送附件,如果是win10系统,发送时找不到附件就将附件地址写成r'D:\syz_python\code\day9\签名规则'
    print('发送成功')

    当然,我们可以封装成一个函数,使用的时候,直接调用函数,传入邮箱账号密码,收件人,发件人,标题和内容即可。

    import yagmail
    def send_mail(username,passwd,rece,title,cc,content,atta,mail_host = 'smtp.qq.com'):
        mail = yagmail.SMTP(user = username,password = passwd,host = mail_host,smtp_ssl = True)
        mail.send(to = rece,cc = cc,subject = title,contents = content,attachments = atta)
        print('发送成功!')

     

  • 相关阅读:
    eclipse 中配置maven环境
    洛谷 P5015 标题统计
    洛谷 P1228 【地毯填补问题】
    洛谷 P3328 【[SDOI2015]音质检测】
    OJ 大整数减法
    NOIP 2018数据点
    NOIP 2017 图书管理员
    NOIP 成绩
    洛谷P1001 A+B Problem
    洛谷P1000 超级玛丽游戏
  • 原文地址:https://www.cnblogs.com/mululu/p/9066189.html
Copyright © 2020-2023  润新知