import smtplib
import os
from email.header import Header
from email.mime.text import MIMEText
# shenyuximr@163.com
def sendemail(host,usernames,verify):
# 发件人和收件人
sender = 'luckyletop@163.com'
# receiver = 'xxxxxx@qq.com'
receiver = 'luckyletop@163.com' # 所使用的用来发送邮件的SMTP服务器
smtpserver = 'smtp.163.com' # 发送邮箱的用户名和授权码(不是登录邮箱的密码)
username = 'luckyletop@163.com'
password = 'UPLUATHPNLKSUCZM' # 邮件主题
mail_title = '接口测试报告'
send_user = '奥里给'
verify_url = "127.0.0.1"
# 读取html文件内容
# f = open('/Users/echo/Desktop/login/leapin-api/leapin/static/mail.html', "r+", encoding="utf-8") # HTML文件默认和当前文件在同一路径下,若不在同一路径下,需要指定要发送的HTML文件的路径
# file_data = ""
# data = f.read()
# for line in data:
# if "userName" in data:
# line = line.replace("userName", send_user)
# elif "reset_link" in line:
# line = line.replace("reset_link", verify_url)
# elif "host" in line:
# line = line.replace("host","ddddddddddd")
# f.write(data)
# f.close() with open(r"C:\Users\lenovo\Desktop\zi\inter.html", "r", encoding="utf-8") as f1,open("%s.bak" % r"C:\Users\lenovo\Desktop\zi\inter.html", "w+", encoding="utf-8") as f2:
# for line in f1.readlines():
# if '{host}' in line:
# line = line.replace('{host}', host)
# elif '{userName}' in line:
# line = line.replace('{userName}', usernames)
# elif 'reset_link' in line:
# line = line.replace('reset_link', verify)
# f2.write(line)
# data = f2.read()
data = f1.read()
data = data.replace("{host}",host).replace("{userName}", usernames).replace("reset_link", verify)
f2.write(data)
# os.remove("/Users/echo/Desktop/login/leapin-api/leapin/static/mail.html")
# os.rename("%s.bak" % "/Users/echo/Desktop/login/leapin-api/leapin/static/mail.html", "/Users/echo/Desktop/login/leapin-api/leapin/static/mail.html")
# data = f1.read() # mail_body = f.read()
# print(mail_body.replace('{userName}', "ssssssssss"))
# print(mail_body.replace('{host}', "127.0.0.1"))
# print(mail_body.replace('reset_link', "verify_url")) # 邮件内容, 格式, 编码
message = MIMEText(data, 'html', 'utf-8')
message['From'] = sender
#多人发送
msg_to = ['luckyletop@163.com','shenyuximr@163.com']
message['To'] = ','.join(msg_to)
#单人发送
# message['To'] = receiver
message['Subject'] = Header(mail_title, 'utf-8') try:
smtp = smtplib.SMTP()
smtp.connect('smtp.163.com')
smtp.login(username, password)
smtp.sendmail(sender, message['To'].split(','), message.as_string())
print("发送邮件成功!!!")
smtp.quit()
except smtplib.SMTPException:
print("发送邮件失败!!!") # import os
# def alter(file,old_str,new_str):
# """
# 将替换的字符串写到一个新的文件中,然后将原文件删除,新文件改为原来文件的名字
# :param file: 文件路径
# :param old_str: 需要替换的字符串
# :param new_str: 替换的字符串
# :return: None
# """
# with open(file, "r", encoding="utf-8") as f1,open("%s.bak" % file, "w", encoding="utf-8") as f2:
# for line in f1:
# if old_str in line:
# line = line.replace(old_str, new_str)
# f2.write(line)
# os.remove(file)
# os.rename("%s.bak" % file, file)
#
# alter("/Users/echo/Desktop/login/leapin-api/leapin/static/mail.html", "host", "127.0.0.1")
# alter("/Users/echo/Desktop/login/leapin-api/leapin/static/mail.html", "userName", "ssssss")
# alter("/Users/echo/Desktop/login/leapin-api/leapin/static/mail.html", "reset_link", "verify") if __name__ == '__main__':
sendemail('luckyletop@163.com', 'luckyletop@163.com','smtp.163.com' )

python发送邮件+多人+附件 !!!!的更多相关文章

  1. python 发送邮件+多人+附件 最好用!!!

    #!python3#codin=utf-8import yagmail yag = yagmail.SMTP(user='2679813@qq.com', password='mwlgdmwv4rss ...

  2. python发送邮件(带附件)

    python通过stmp发送qq邮件,带附件 import smtplib from email.mime.multipart import MIMEMultipart from email.mime ...

  3. python发送邮件

    python发送邮件(无附件) ======================================================= #!/usr/bin/env python#coding ...

  4. python发送邮件及附件

    今天给大伙说说python发送邮件,官方的多余的话自己去百度好了,还有一大堆文档说实话不到万不得已的时候一般人都不会去看,回归主题: 本人是mac如果没有按照依赖模块的请按照下面的截图安装 导入模块如 ...

  5. 解读Python发送邮件

    解读Python发送邮件 Python发送邮件需要smtplib和email两个模块.也正是由于我们在实际工作中可以导入这些模块,才使得处理工作中的任务变得更加的简单.今天,就来好好学习一下使用Pyt ...

  6. python 发送邮件例子

    想到用python发送邮件 主要是服务器 有时候会产生coredump文件  ,然后因为脚本重启原因,服务器coredump产生后会重启 但是没有主动通知开发人员 想了下可以写个脚本一旦产生cored ...

  7. 【转】【Python】Python发送邮件(常见四种邮件内容)

    在写脚本时,放到后台运行,想知道执行情况,会通过邮件.SMS(短信).飞信.微信等方式通知管理员,用的最多的是邮件.在linux下,Shell脚本发送邮件告警是件很简单的事,有现成的邮件服务软件或者调 ...

  8. python 发送邮件 <QQ+腾讯企业邮箱>

    一.使用QQ邮箱或者腾讯企业邮箱 python 发送邮件属于网络编程方向的,在工作中,我需要经常用邮件来检测我的程序运行状况.使用起来十分方便,这里我就用腾讯企业邮箱作为我的收发邮箱来使用. 使用py ...

  9. python接口自动化(三十二)--Python发送邮件(常见四种邮件内容)番外篇——上(详解)

    简介 本篇文章与前边没有多大关联,就是对前边有关发邮件的总结和梳理.在写脚本时,放到后台运行,想知道执行情况,会通过邮件.SMS(短信).飞信.微信等方式通知管理员,用的最多的是邮件.在linux下, ...

  10. Python发送邮件(常见四种邮件内容)

    Python发送邮件(常见四种邮件内容) 转载 2017年03月03日 17:17:04   转自:http://lizhenliang.blog.51cto.com/7876557/1875330 ...

随机推荐

  1. H.264中的帧

    导言 高级视频编码 (AVC) 也称为 H.264,是使用最广泛的视频压缩标准.它与所有主要的流式传输协议和容器格式兼容. 当我们使用播放器播放一个视频时,通常会经过:解协议,解封装,音视频解码,音视 ...

  2. python判断素数

    def slowsnail(num): count = num // 2 while count > 1: if num % count == 0: print('%d最大的约数是%d' % ( ...

  3. 【Javaweb】了解link标签

    link标签的属性 标签就是定义文档和外部的关系,常见用途是链接样式表.通常指存在于head部分. 规定被连接文档的位置 <link rel='stylesheet' href='./ease. ...

  4. 在模态窗口中控制窗口的隐藏和显示(.NET)

    如果你创建了模态窗口,虽然一些API,例如Editor.GetSelection(),可以自动隐藏模式对话框,但如果从模态窗口出发与编辑器(编辑器指的模型空间,即你绘图的窗口)交互, 它会在GetSe ...

  5. [ABC280G] Do Use Hexagon Grid 2

    Problem Statement A hexagonal cell is represented as $(i,j)$ with two integers $i$ and $j$. Cell $(i ...

  6. v-for和指令

    . v-for 起遍历作用. 注意点: 1.遍历的里面第一个值是定义的元素的值,第二个值是值的名称,第三个值为下标 2.:key是v-blind:key的简写,是代码中的唯一标识,一般用id来定义 v ...

  7. 自定义线程池将异常"吃了"

    今天在做项目时,写了一个使用自定义线程池执行远程调用 // 删除购物车信息 corePoolExecutor.submit(() -> { try { cartFeignClient.delet ...

  8. 为什么说数字孪生和GIS高度互补?它们各自从对方那里获得了什么?

    在数字化时代,数字孪生和GIS作为两项重要技术,它们的融合正日益受到人们的关注和认可.数字孪生是将实体世界与数字世界紧密结合的技术,可以创建实时的虚拟副本,对物理系统进行模拟.优化和预测.而GIS则是 ...

  9. MinIO客户端之license

    MinIO提供了一个命令行程序mc用于协助用户完成日常的维护.管理类工作. 官方资料 mc license mc license info mc license register mc license ...

  10. MinIO入门

    MinIO 是一种高性能.S3 兼容的对象存储. 官方资料 中国官网 代码仓库 安装和部署MinIO 单节点单硬盘部署MinIO 单节点多硬盘部署MinIO 多节点多硬盘部署 站点复制概述 管理现有的 ...