美文网首页
python发邮件

python发邮件

作者: 踩着阳光 | 来源:发表于2019-12-23 22:46 被阅读0次

python发邮件收件人和抄送列表:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
#邮件发送函数
def mail(mail_list,subject):
    ret=True
    try:
        msg=MIMEText(mail_msg,'html','utf-8')
        msg['From']=formataddr(["ZMTC打包平台",my_sender])  # 括号里的对应发件人邮箱昵称、发件人邮箱账号
        msg['To']=';'.join(mail_list)            # 括号里的对应收件人邮箱昵称、收件人邮箱账号
        # msg['Cc'] = ';'.join(mail_cc)
        msg['Subject']=subject                # 邮件的主题,也可以说是标题
 
        server=smtplib.SMTP_SSL("smtp.exmail.qq.com", 465)  # 发件人邮箱中的SMTP服务器,端口是25
        server.login(my_sender, my_pass)  # 括号中对应的是发件人邮箱账号、邮箱密码
        server.sendmail(my_sender,mail_list,msg.as_string())  # 括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件
        server.quit()  # 关闭连接
    except Exception:  # 如果 try 中的语句没有执行,则会执行下面的 ret=False
        ret=False
    return ret
# 邮箱参数
    my_sender='xxxx'    # 发件人邮箱账号
    my_pass = 'xxxxx'              # 发件人邮箱密码
    mail_to=['xxx','xxxx']      # 收件人邮箱账号,我这边发送给自己
    mail_cc = ['xxx','xxxx']
    
    mail_list = mail_to + mail_cc
    if(job_name == "iOS_dev_base"):
        businessname = "iOS"
    elif(job_name == "Android_dev_base"):
        businessname = "Android"
    subject=businessname + "定时任务构建"
    mail_msg = """\
  <!DOCTYPE html>
  <html>
  <meta charset="utf-8">
  <head>
      <title>作业帮定时打包</title>
  </head>
  <body>
  <div id="container">
      <div id="content">
        <html>
            <p><strong>Hi,all,<font color="red">""" + businessname + """</font> job已经打包完成,详情请看邮件下方表格<strong></p>
                <p><strong>测试打包地址:<strong> <a href="http://zmtc.zuoyebang.cc/majorpack/job/debug">http://zmtc.zuoyebang.cc/majorpack/job/debug</a></p>
                <table width="800" border="2" bordercolor="black" cellspacing="2">
                <tbody>
                <tr>
                <th><strong>标题</strong></th>
                <th><strong>详情</strong></th>
                </tr>
            <tr>
             <td>任务号</td>
             <td>"""+ str(job_num) +"""</td>
            </tr>
            <tr>
             <td>任务名称</td>
             <td>"""+ str(job_name) +"""</td>
            </tr>
            <tr>
             <td>分支</td>
             <td>"""+ str(branch) +"""</td>
            </tr>
            <tr>
             <td>打包时间</td>
             <td>"""+ str(pack_time) +"""</td>
            </tr>
            <tr>
                <td>二维码</td>
                <td><img style="margin-left: 40px; width: 130px; height: 130px;" src="""+str(qr_code)+"""></td>
            </tr>
            <tr>
                <td>改动详情</td>
                <td>"""+ str(changes) +"""</td>
            </tr>
            <tr>
             <td>日志</td>
             <td><a href="""+ str(log_url) +""">日志链接</a></td>
            </tr>
          </tbody>
          </table>
          </html>
      </div>
  </div>
  </body>
  </html>
"""
if __name__ == '__main__':
    # 只有成功状态才会触发发邮件
    if(status == "1"):
        mail(mail_list, subject)
    elif (status == "2"):
        mail("xxx", "打包任务失败")
    elif (status == "3"):
        mail("xxx", "打包任务被终止")

相关文章

网友评论

      本文标题:python发邮件

      本文链接:https://www.haomeiwen.com/subject/ocntoctx.html