zoukankan      html  css  js  c++  java
  • python发送邮件

    邮件发送脚本

    import smtplib
    from email.mime.text import MIMEText
    from email.header import Header
    from email.utils import formataddr
    
    class SendMail():
        def __init__(self):
            self.smtpserver = 'smtp.exmail.qq.com'
            self.sender = ''
            self.user = ''
            self.password = ''
            # 邮件头接收人
            self.receiver = '填写所有接收人邮箱地址,逗号分隔'
    
    def send_mail(self, my_subject, alter_info):
        # 发生邮箱服务器
        smtpserver = self.smtpserver
        # 发送用户和密码
        user = self.user
        password = self.password
        # 发送邮箱
        sender = self.sender
        # 接收邮箱
        receiver = self.receiver
        # 发送邮箱主题
        subject = my_subject
        # 编写HTML类型的邮件正文
        msg = MIMEText("""
        <html>
        <head>
            <meta charset="UTF-8">
            <title>Title</title>
        </head>
        <body>
            <table border="2">
                <thead>
                    <th>...</th>
                    <th>...</th>
                    <th>...</th>
                </thead>
                <tbody>
                    {0}
                </tbody>
            </table>
        </body>
        </html>
        """.format(alter_info), 'html', 'utf-8')
        msg['Subject'] = Header(subject, 'utf-8')
        try:
            # 连接发送邮件
            smtp = smtplib.SMTP()
            smtp.connect(smtpserver)
            smtp.login(user, password)
            smtp.sendmail(sender, receiver, msg.as_string())
            smtp.quit()
            print("告警发送成功!")
        except Exception as e:
            print("告警发送失败!")
            print(e)
    
    def send_mail_ssl(self, reciver_list, subject, content, fail_content):
        try:
            msg = MIMEText("""
                    <html>
                    <head>
                        <meta charset="UTF-8">
                        <title>Title</title>
                    </head>
                    <body>
                        <table border="2">
                            <thead>
                                <th>...</th>
                                <th>...</th>
                                <th>...</th>
                                <th>...</th>
                            </thead>
                            <tbody>
                                {0}
                            </tbody>
                        </table>
                        <h3></h3>
                        <table border="2">
                            <thead>
                                <tr>
                                    <td>...</td>
                                    <td>...</td>
                                </tr>
                            </thead>
                            <tbody>
                                {1}
                            </tbody>
                        </table>
                    </body>
                    </html>
                    """.format(content, fail_content), 'html', 'utf-8')
            msg['Subject'] = Header(subject, 'utf-8')
            msg['From'] = Header(self.user)
            # msg['To'] = Header(self.receiver, charset='utf-8')
            msg['To'] = formataddr(('群组接收人',self.receiver))
    
            server = smtplib.SMTP_SSL(self.smtpserver, 465)
            server.login(self.user, self.password)
            server.sendmail(self.user, reciver_list, msg.as_string())
            server.quit()
            print("告警邮件发送成功!")
        except Exception as e:
            print("告警邮件发送失败!")
            print(e)
    
    if __name__ == '__main__':
        sendmail = SendMail()
        reviver_list = ["接收人测试邮箱地址"]
    
        sendmail.send_mail_ssl(reviver_list ,'邮件标题', '<tr><td>wwww</td><td>243324</td><td>4354</td></tr>', "<tr><td...</td><td>...</td></tr>")
  • 相关阅读:
    JavaScript DOM 编程艺术 公用方法
    JavaScript DOM 编程艺术
    Echart 的formatter及重写line chart
    PHP 导出csv
    Linux 搭建PHP环境
    学习新思路
    fork产生子进程利用pipe管道通信
    进程间通信 管道
    进程间通信(IPC) 简介
    java 多态
  • 原文地址:https://www.cnblogs.com/ttyypjt/p/13967786.html
Copyright © 2011-2022 走看看