zoukankan      html  css  js  c++  java
  • python基础-发邮件smtp

    先来想下发送邮件需要填写什么,还需要有什么条件
    1.与邮件服务器建立连接,用户名和密码
    2.发邮件:发件人,收件人,主题,内容,附件
    3.发送

     使用第三方邮箱发送邮件

    #! /usr/bin/env python
    #coding=utf-8
    
    import smtplib
    import email.mime.multipart
    import email.mime.text
    
    from email.mime.application import MIMEApplication
    
    '''
    先来想下发送邮件需要填写什么,还需要有什么条件
    1.与邮件服务器建立连接,用户名和密码
    2.发邮件:发件人收件人主题内容附件
    3.发送
    '''
    
    
    
    
    class SendMail:
        
        def send_mail(self, title):
            msg=email.mime.multipart.MIMEMultipart()#生成包含多个邮件体的对象
            msg['from']='huipaodexiong@126.com'
            msg['to']='huipaodexiong@126.com'
            msg['subject']= title
            content='''
            Hi all,
            这是一封huipaodexiong自动化测试发送的邮件
            QQ:xxxxxxx
            博客:http://www.cnblogs.com/R-bear/            
            微信号:xxxxxxx            
            带附件
            '''
            print('成功1')
            #邮件正文,将文件正文当成附件发送,当正文内容很多时,提高效率
            txt=email.mime.text.MIMEText(content)
            msg.attach(txt)
            print('成功2')
            
            #excel附件--固定格式
            xlsxpart = MIMEApplication(open('laohuangli-testcase1.xlsx', 'rb').read())
            xlsxpart.add_header('Content-Disposition', 'attachment', filename='laohuangli-testcase1.xlsx')
            msg.attach(xlsxpart)
    
            #jpg图片附件
            jpgpart = MIMEApplication(open('接口测试框架.jpg', 'rb').read())
            jpgpart.add_header('Content-Disposition', 'attachment', filename='接口测试框架.jpg')
            msg.attach(jpgpart)
            
            
            #发送邮件
            smtp=smtplib
            smtp=smtplib.SMTP()
            smtp.set_debuglevel(1)#设置为调试模式,console中显示
            print('成功3')
            smtp.connect('smtp.126.com','25') #链接服务器,smtp地址+端口
            print('成功4')
            smtp.login('huipaodexiong@126.com','XXXXXXXX') #登录,用户名+密码
            print('成功5')
            smtp.sendmail('huipaodexiong@126.com','huipaodexiong@126.com',str(msg)) #发送,from+to+内容
            smtp.quit()
            print('发送邮件成功')
    
    mail = SendMail()
    mail.send_mail('测试文件')

    结果:

    遇到的问题,需要开启邮箱的服务.

  • 相关阅读:
    rdb 和 aof
    nginx 遇见问题与解决问题
    linux 每天一个命令
    Consul 集群搭建
    Consul 安装的与启动
    hession RMI 远程调用
    3、使用Lucene实现千度搜索
    1、什么是Lucene,Lucene能干什么
    Tengine笔记2:通过IP、域名、端口实现虚拟主机
    Tengine笔记3:Nginx的反向代理和健康状态检查
  • 原文地址:https://www.cnblogs.com/R-bear/p/7046392.html
Copyright © 2011-2022 走看看