IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> python发送邮件脚本 -> 正文阅读

[网络协议]python发送邮件脚本

python发送邮件简单好用,适合拿来当脚本

# -*- coding: utf-8 -*- 
# @Time : 2022-01-04 13:57 
# @Author : john
# @File : send_mail.py
import smtplib,os
import pyrfc
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
import time 

class SendMail(object):
    def __init__(self):
        '''
        :param username: 用户名
        :param passwd: 密码
        :param recv: 收件人,多个要传list ['a@qq.com','b@qq.com]
        :param title: 邮件标题
        :param content: 邮件正文
        :param file: 附件路径,如果不在当前目录下,要写绝对路径,默认没有附件
        :param ssl: 是否安全链接,默认为普通
        :param email_host: smtp服务器地址,默认为163服务器
        :param port: 非安全链接端口,默认为25
        :param ssl_port: 安全链接端口,默认为465
        '''
        self.username = "839438304@qq.com" #用户名
        self.passwd = "xxxxxxx" #密码
        self.recv = ['839438304@qq.com']   #收件人,多个要传list ['a@qq.com','b@qq.com]
        self.title = "超级BOM版本错误预警" #邮件标题
        #self.content = content #邮件正文
        #self.file = file #附件路径,如果不在当前目录下,要写绝对路径
        self.email_host = "mail.qq.com" #smtp服务器地址
        self.port = 25 #普通端口
        self.ssl = True #是否安全链接
        self.ssl_port = 465 #安全链接端口

		# ----SAP连接
        Blue_Rfc800 = {
            "user": "xxxxx",
            "passwd": "xxxxxx",
            "ashost": "192.168.1.1",
            "sysnr": "00",
            "lang": "ZH",
            "client": "300"
        }
        self.sapconn = pyrfc.Connection(**Blue_Rfc800)
		
    def send_mail(self,title,content,recv):
        #邮件发送模块
        msg = MIMEMultipart()
        msg.attach(MIMEText(content, 'html', 'utf-8'))#邮件正文的内容
        msg['Subject'] = title  # 邮件主题
        msg['From'] = self.username  # 发送者账号
        msg['To'] = ','.join(recv)  # 接收者账号列表
        ccrecv = ['caozq@desay.com']
        msg['Cc'] = ','.join(ccrecv)  # 接收者账号列表
        if self.ssl:
            self.smtp = smtplib.SMTP_SSL(self.email_host,port=self.ssl_port)
        else:
            self.smtp = smtplib.SMTP(self.email_host,port=self.port)
        #发送邮件服务器的对象
        self.smtp.login(self.username,self.passwd)
        try:
            self.smtp.sendmail(self.username,recv,msg.as_string())
            pass
        except Exception as e:
            msg = {"code":"E","msg":e}
        else:
            msg = {"code":"S","msg":"发送成功"}
        self.smtp.quit()
        return msg

    def get_ZSEND_MM01(self):
        #数据获取模块
        in_date = time.strftime("%Y%m%d", time.localtime(time.time()-86400))
        result = self.sapconn.call("ZSEND_MM01",IN_DATE=in_date)
        content = ""
        if result["IT_TAB"]:
        	#组合出来html格式的邮件内容
            msg_text =  "<font size ='5' color='red'>此信件为系统自动传送,请勿直接回复!</font><br>\n"\
                        "<font size ='5' color='red'>以下料号刚发布了非人民币价格,请及时补充关务信息!</font><br>\n"\
                        "<style> .table1_3 table {width:100%;margin:15px 0}\n" + \
                        ".table1_3 th {background-color:#87CEFA;color:#000000}\n" + \
                        ".table1_3,.table1_3 th,.table1_3 td{font-size:0.95em;text-align:center;padding:4px;border:1px " + \
                        "solid #dddddd;border-collapse:collapse}\n" + \
                        ".table1_3 tr:nth-child(odd){background-color:#d7eefd;}\n" + \
                        ".table1_3 tr:nth-child(even){background-color:#fdfdfd;}</style>\n" + \
                        "<table class=table1_3>\n" + \
                        "<tr align='center'>\n" + \
                        "<th>采购组织</th><th>物料编号</th><th>物料描述</th><th>基本计量单位</th></tr>\n"
            text = ""
            for data in result["IT_TAB"]:
                text = text+"<tr align='center'>\n" + \
                       "<td>"+data["EKORG"]+"</td>\n<td>"+ data["MATNR"]+"</td>\n<td>"+data["MAKTX"]+"</td>\n" \
                       "<td>"+data["MEINS"]+"</td>\n" + \
                       "</tr>\n "

            content = msg_text + text + "</table>"
        else:
            msg_text =  "<font size ='5' color='red'>此信件为系统自动传送,请勿直接回复!</font><br>\n"\
                        "<font size ='5' color='red'>当日无新增美元料号!</font><br>\n"
            content = msg_text               
        return content


if __name__ == '__main__':
    m = SendMail()
    content  = m.get_ZSEND_MM01()
    print(content)
    title = "超级BOM版本错误预警"  # 邮件标题
    recv = ['caozq@desay.com','839438304@qq.com']
    result = m.send_mail(title,content,recv)
    print(result)
  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-04-04 12:47:24  更:2022-04-04 12:48:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 4:45:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码