selenium+webdriver 邮件模块

# coding=utf8

"""发送邮件模块"""

from __future__import division

import os

import smtplib

from os.pathimport basename

from email.mime.applicationimport MIMEApplication

from email.mime.multipartimport MIMEMultipart

from email.mime.textimport MIMEText

from email.utilsimport  formatdate

import resultFolder

from commonLibraryimport logUtility

from commonLibrary.commonConfigurationimport EmailConfig

emailConfig = EmailConfig()

def send_email(send_to, subject, text, files=None):

"""

    :param send_to: 收件人列表

    :param subject: 邮件主题

    :param text: 正文内容,本函数中格式为html

    :param files: 附件"""

    mail_host = emailConfig.mail_host#发件箱smtp服务器域名

    mail_user = emailConfig.mail_user#发件人用户名

    mail_pass = emailConfig.mail_pass#发件人邮箱

    mail_postfix = emailConfig.mail_postfix#发件人邮箱后缀

    me = mail_user +"<" + mail_user +"@" + mail_postfix +">"

    msg = MIMEMultipart(_charset='utf-8')

msg['From'] = me#发件人

    msg['To'] =';'.join(send_to)#收件人

    msg['Date'] = formatdate(localtime=True)#发件日期

    msg['Subject'] = subject#邮件主题

    # msg.attach(MIMEText('Hi all,附件是自动化测试报告,请查阅!', _subtype='plain', _charset='utf-8'))  #直接输入邮件正文,包含中文时需要制定编码

    msg.attach(MIMEText(text, _subtype='html',  _charset='utf-8'))#邮件正文,格式为html,本框架的报告发送失败

    for attachFilein files:#附件

        with open(attachFile, "rb")as f:

part = MIMEApplication(f.read(), Name=basename(attachFile))

msg.attach(part)

try:

s = smtplib.SMTP()

s.connect(mail_host)

s.login(mail_user, mail_pass)

s.sendmail(me, send_to, msg.as_string())

s.close()

return True

    except Exception, e:

print str(e)

return False

def send_report(total, success, fail, error, skip, reportName) :

s1 = reportName.split('.')[0]

browsers ='/'.join(s1.split('_')[3:-1])

send_t = emailConfig.mail_receivers#收件人列表

    passing_rate ='%.2f%%'% (success / (total - skip)*100)

subject = emailConfig.mail_subjectprefix +'('+ browsers  +'),总数:'+str(total)+',通过:'+str(success) \

+',失败:'+str(fail)+',错误:'+str(error)+',跳过:'+str(skip)+',通过率:'+ passing_rate

file = os.path.join(resultFolder.getRunDirectory(), 'des.html')

with open(file, 'r')as f:#邮件正文

        text = f.read()

targetDir = resultFolder.getRunDirectory()

# attachFiles = [ os.path.join(targetDir, f) for f in os.listdir(targetDir) ] # 附件

    attachFiles = []#附件

    try:

if send_email(send_t, subject, text, attachFiles):

logUtility.info('邮件发送成功!')

else:

logUtility.info("邮件发送失败!")

except Exception, e:

logUtility.error('邮件发送异常: ' + str(e))

if __name__ =='__main__':

send_report(91, 1, 2, 3, 4)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容