首页 > 编程语言 >python发送邮件

python发送邮件

时间:2022-11-10 00:14:00浏览次数:44  
标签:__ name python smtp 发送 import message 邮件

python发送邮件封装

# encoding=utf-8
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText


class EmailMange:
    def send_email(self, report_name):
        # 1. 定义SMTP服务器
        smtpserver = "smtp.163.com"
        # 2. 发送邮箱的用户名和客户端密码
        username = '[email protected]'
        password = "QMZYQLUFXZLXOKPZ"  # 授权码

        # 接收邮件邮箱
        receiver = "[email protected]"

        # 创建邮件对象
        message = MIMEMultipart("related")  # 带附件的邮件对象

        # 设置邮件标题
        subject = "邮件标题"  # 邮件主题

        # 邮件附件
        fujian = MIMEText(open(report_name.name, "rb").read(), "html", "utf-8")  # 附件

        # 把邮件的信息组装到邮箱对象里面
        message["form"] = username
        message["to"] = receiver
        message["subject"] = subject
        message.attach(fujian)

        # 登录smtp服务器并发送邮件
        smtp = smtplib.SMTP()  # 创建对象
        smtp.connect(smtpserver)  # 连接服务器
        smtp.login(username, password)  # 登录
        smtp.sendmail(username, receiver, message.as_string())  # message.as_string()转换成字符串
        smtp.quit()  # 退出


if __name__ == '__main__':
    EmailMange().send_email()


调用

# encoding=utf-8

import unittest
from HTMLTestRunner import HTMLTestRunner
import time

from pytestpro.emailll import EmailMange

class AAA(unittest.TestCase):
    def test_01_coco(self):
        print("一个笑趴菜")


if __name__ == '__main__':
    # print(path)
    suit = unittest.defaultTestLoader.discover("/", "*.py")
    files = open("../report.html", "wb")
    runner = HTMLTestRunner(stream=files, title="测试", description="报告")
    runner.run(suit)
    files.close()  # 再发送前一定要把文件流关闭
    # 发送邮件
    time.sleep(3)
    EmailMange().send_email(files)



标签:__,name,python,smtp,发送,import,message,邮件
From: https://www.cnblogs.com/kh-1314/p/16875669.html

相关文章

  • Python10-实战
    实战01(根据当前时间创建文件)importtimedefcreate():globalnamelocalTime=time.strftime("%Y%m%d%H%M%S",time.localtime())name=localTime+'.txt'......
  • Python10-eg
    实例01(创建并打开记录蚂蚁庄园的文件)1print("\n","="*10,"蚂蚁庄园动态","="*10)2file=open('message.tex','w')3print("\n即将显示...........\n")实例02(向......
  • Python 变量类型
    变量类型1.变量赋值Python中变量赋值不需要类型声明。每个变量在使用前必须声明,变量赋值后该变量才会被创建。couter=100#赋值整型变量miles=1000.0#浮点型......
  • python2 递归函数
    importosimportos.pathasospimportsysimportnumpyasnpimportdatetimedefmkdirs_py2(path):#递归创建文件夹路径ifosp.exists(path):return......
  • python选课系统项目详解
    选课系统项目详解选课系统简介及分析选课系统架构设计分析选课系统目录设计管理员视图注册登录创建学校创建课程创建讲师学生视图教师视图选课系统简介及......
  • 【pyfaidx】纯Python实现的FASTA随机索引库
    前言基因组序列的提取,有不少强大的工具像samtools,bedtools,之前也提到pybedtools提取序列。不过pybedtools是对bedtools提供一个Python接口,除了安装pybedtools外,还需......
  • 新的学习历程-python1 Hello World
    1print('helloworld!')2if2>0:3print('ok')4print('yes')56x=3;y=47print(x+y)学习资源来自:张志刚老师python百例 《例解Python:Pyth......
  • python中字符串的使用和数据转换
    #1.输入输出#sep='',步长数据之间以某个东西分割在这里是空格#end='\n'在打印后会额外的加一个数据换行print('1.输入输出')print('同学们晚上好',1,77......
  • python迭代器
    什么是迭代器迭代器是值迭代取值的工具,迭代是一个重复的过程,每次重复都是基于上一次的结果而继续的,单纯的重复并不是迭代为什么要有迭代器寻求一种不依赖索引取值的......
  • 【python】程序员最浪漫的表白方式,将情书写在她的照片里
    前言大家早好、午好、晚好吖~这不光棍节快到了,表弟准备写一封情书给他的女神,想在光棍节之前脱单。为了提高成功率,于是跑来找我给他参谋参谋,本来我是不想理他的。不过......