首页 > 其他 > 详细

Mail发送

时间:2019-07-11 00:48:53      阅读:125      评论:0      收藏:0      [点我收藏+]

发送mail

# -*- coding: utf-8-*-
import smtplib
import datetime
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from Application.Utils.Log import Log


class SendMail(object):
    def __init__(self, recv, parameter, ssl=True, email_host=smtp.163.com, port=25, ssl_port=465):
        ‘‘‘
        :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 = 13172678133@163.com  # 用户名
        self.passwd = qq13172678133  # 密码
        self.recv = recv  # 收件人,多个要传list [a@qq.com,b@qq.com]
        self.title = f时间统计:{datetime.datetime.now()}  # 邮件标题
        self.content = f时间统计:{datetime.datetime.now()}  # 邮件正文
        self.email_host = email_host  # smtp服务器地址
        self.port = port  # 普通端口
        self.ssl = ssl  # 是否安全链接
        self.ssl_port = ssl_port  # 安全链接端口
        self.parameter = parameter  # 要发送的数据
        self.mail_msg()

    def mail_msg(self):
        mail_msg = """
                <table border="1">
                    <tr>
                       <th>111111</th>
                       <th>22222</th>
                       <th>333333</th>
                   </tr>
                   {table}
               </table>
                """
        s = """ """
        for i in self.parameter:
            s += ‘‘‘
               <tr>
                    <td>{queue_name}</th>
                    <td>{recently_time}</th>
                    <td>{query_number}</th>
                </tr>
           ‘‘‘.format(queue_name=i.get(queue_name),
                      recently_time=i.get(recently_time),
                      query_number=i.get(query_number))
        self.send_mail(mail_msg.format(table=s))

    def send_mail(self, mail_msg):
        msg = MIMEMultipart()
        msg.attach(MIMEText(mail_msg, html, utf-8))  # 邮件正文的内容
        msg[Subject] = self.title  # 邮件主题
        msg[From] = self.username  # 发送者账号
        msg[To] = ,.join(self.recv)  # 接收者账号列表
        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, self.recv, msg.as_string())
        except Exception as e:
            Log(Mail).info(e)
        self.smtp.quit()

 

Mail发送

原文:https://www.cnblogs.com/clbao/p/11167337.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!