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. 栈与队列应用:迷宫问题(DFS非最短路径)

    //先输入行列,在输入迷宫 以-1 -1 结束 #include<stdio.h> #include<stdlib.h> #define MAXSIZE 100 #define ...

  2. ZooKeeper论文阅读笔记

    ZooKeeper论文传送门 介绍 ZooKeeper 是一个开源的分布式协调服务,它提供了高可用性和一致性的数据管理和协调功能.它被设计用于构建可靠的分布式系统,并提供了一组简单而强大的 wait- ...

  3. Flink State 状态原理解析

    一.Flink State 概念 State 用于记录 Flink 应用在运行过程中,算子的中间计算结果或者元数据信息.运行中的 Flink 应用如果需要上次计算结果进行处理的,则需要使用状态存储中间 ...

  4. 编辑linux服务启动命令(app-script.sh命令编写)

    #!/bin/sh# 注:这里可替换为你自己的执行程序,其他代码无需更改APP_NAME=app-biz.jar #使用说明,用来提示输入参数usage() { echo "Usage: s ...

  5. [ARC132E] Paw

    题目链接 考虑最后形态,一定是有某一个区间 \([l,r]\) 保持初始的样子, \(l\) 前面都是 <,\(r\) 后面都是 >. 这个区间一定是某两个相邻圆点的位置.设 \(f_i\ ...

  6. idea的maven

    在我学习springMvc时一直报一个错,后来发现是maven一直出错导致的 这个maven是idea系统自己的maven,用着用着发现依赖项不见了,怎么导入坐标都导不进去,导致在创建maven项目时 ...

  7. DHorse v1.5.0 发布,基于 k8s 的发布平台

    版本说明 新增特性 支持同一机器部署多个DHorse服务: 支持Next..NET应用部署: 优化Node.Nuxt应用构建和部署的性能: 默认使用fabric8客户端与k8s集群交互,可以通过指定参 ...

  8. 从零玩转Yaip使用-cong-ling-wan-zhuan-yaip-shi-yong

    title: 从零玩转Yaip使用 date: 2021-07-16 15:47:17.624 updated: 2021-12-26 17:43:12.255 url: https://www.yb ...

  9. 【GIT-精讲】从零玩转Git-基础理论

    关于版本控制 一.什么是版本控制 版本控制(Version Control Systems)版本控制(Revision control)是一种软件工程技巧 在开发的过程中,确保由不同人所编辑的同一档案 ...

  10. MySQL|空间碎片化问题处理

    一.空间碎片化严重案例分享 1.1 问题描述 实例磁盘空间近1个月上涨趋势明显,主要是个别日志表存储较大且部分表存在空间碎片化的现象. 1.2 处理流程 1.通过日常巡检以及监控发现某实例磁盘空间近1 ...