python 发送email邮件带附件分分快三计划

作者:编程技术

 

压缩脚本:

 

    Smtp_Server: smtp.exmail.qq.com
    Smtp_Sender: xxxx@163.com
    Password: xxxxxx
    Msg_Title: UI自动化测试结果
    Receivers: ['xxxx@126.com']  #收件人
    From: 自动化测试系统
    To: 测试组

最近检测服务器,发现js/css文件都没有压缩过,动手解决此问题先。

3. m2ts2

#_*_coding:utf-8_*_

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email.header import Header
from email import encoders
import time
import yaml,os,base64
from pos.lib import gl,scripts


class EmailClass(object):
    def __init__(self):
        self.curDateTime = str(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime())) #当前日期时间
        self.config = scripts.getYamlfield(gl.configFile) #配置文件路径
        self.sender = self.config['EMAIL']['Smtp_Sender'] # 从配置文件获取,发件人
        self.receivers = self.config['EMAIL']['Receivers']  # 从配置文件获取,接收人
        self.msg_title = self.config['EMAIL']['Msg_Title'] #从配置文件获取,邮件标题
        self.sender_server = self.config['EMAIL']['Smtp_Server'] #从配置文件获取,发送服务器
        self.From = self.config['EMAIL']['From']
        self.To = self.config['EMAIL']['To']

    '''
    配置邮件内容
    '''
    @property
    def setMailContent(self):
        print self.receivers
        msg = MIMEMultipart()
        msg['From'] = Header(self.From,'utf-8')
        msg['To'] = self.To
        msg['Subject'] = Header('%s%s'%(self.msg_title,self.curDateTime),'utf-8')

        #附件路径
        dirpath = gl.reportPath
        zipfile = os.path.join(os.path.dirname(dirpath), 'report.zip')
        reportfile = os.path.join(gl.reportPath, 'Report.html')
        scripts.zipDir(dirpath,zipfile) #压缩报告
        #增加邮件内容为html
        fp = open(reportfile, 'rb')
        reportHtmlText = fp.read()
        msg.attach(MIMEText(reportHtmlText,'html','utf-8'))
        fp.close()

        #增加附件
        html = self.addAttach(zipfile,filename='Report%s.zip'%self.curDateTime) #自动化测试报告附件
        msg.attach(html)

        return msg


    '''
    增加附件
    '''
    def addAttach(self,apath,filename='Report.html'):
        with open(apath, 'rb') as fp:
            attach = MIMEBase('application','octet-stream')
            attach.set_payload(fp.read())
            attach.add_header('Content-Disposition', 'attachment', filename=filename)
            encoders.encode_base64(attach)
            fp.close()
            return attach


    '''
    发送电子邮件
    '''
    def sendEmail(self,message):
        try:
            smtpObj = smtplib.SMTP()
            smtpObj.connect(self.sender_server,25)
            smtpObj.login(self.sender,self.config['EMAIL']['Password'])
            smtpObj.sendmail(self.sender,self.receivers , message.as_string())
            smtpObj.quit()
            print "邮件发送成功"
        except smtplib.SMTPException as ex:
            print "Error: 无法发送邮件.%s"%ex

    #发送调用
    @property
    def send(self):
        self.sendEmail(self.setMailContent)

if __name__=="__main__":
    EmailClass().send

本次压缩采用 yui compress (2.4.8)

2. Iso内部格式如下1

3.配置文件config.yaml

#!/bin/sh
echo "###########################"
echo "---------------------------"
echo "begin to compress JS file."
for file in `find . -name "*.js"`
do
echo "Compressing $file …"
java -jar yuicompressor-2.4.8.jar -type js -o $file $file
done
echo "compress js file compeleted."
echo "---------------------------"

echo "begin to compress css file."
for file in `find . -name "*.css"`
do
echo "Compressing $file …"
java -jar yuicompressor-2.4.8.jar -type css -o $file $file
done
echo "compress CSS file compeleted."
echo "---------------------------" 

1. Iso是个复合文件1

EMAIL功能实现:

 文件地址: 

4. Bdmv文件夹格式 详细

文件夹 PATH 列表

卷序列号为 0000-4823

E:.

│  tree.txt

│  treex.txt

│  

├─BDMV

│  │  index.bdmv

│  │  MovieObject.bdmv

│  │  

│  ├─AUXDATA

│  │      bdtmdlist.xml

│  │      _dsa_分分快三计划,version_

│  │      

│  ├─BACKUP

│  │  │  index.bdmv

│  │  │  MovieObject.bdmv

│  │  │  

│  │  ├─CLIPINF

│  │  │      00000.clpi

│  │  │      00001.clpi

│  │  │      00002.clpi

│  │  │      00003.clpi

│  │  │      00004.clpi

│  │  │      00005.clpi

│  │  │      00006.clpi

│  │  │      

│  │  ├─JAR

│  │  │  └─00000

│  │  │          main.0.aca

│  │  │          main.1.png

│  │  │          map.txt

│  │  │          

│  │  └─PLAYLIST

│  │          00000.mpls

│  │          00001.mpls

│  │          00002.mpls

│  │          00003.mpls

│  │          00004.mpls

│  │          01000.mpls

│  │          01001.mpls

│  │          01002.mpls

│  │          

│  ├─CLIPINF

│  │      00000.clpi

│  │      00001.clpi

│  │      00002.clpi

│  │      00003.clpi

│  │      00004.clpi

│  │      00005.clpi

│  │      00006.clpi

│  │      

│  ├─JAR

│  │  └─00000

│  │          main.0.aca

│  │          main.1.png

│  │          map.txt

│  │          

│  ├─META

│  │  └─DL

│  │          bdmt_eng.xml

│  │          large_wallpaper.jpg

│  │          small_wallpaper.jpg

│  │          

│  ├─PLAYLIST

│  │      00000.mpls

│  │      00001.mpls

│  │      00002.mpls

│  │      00003.mpls

│  │      00004.mpls

│  │      01000.mpls

│  │      01001.mpls

│  │      01002.mpls

│  │      新建文本文档.txt

│  │      

│  └─STREAM

│          00000.m2ts

│          00001.m2ts

│          00002.m2ts

│          00003.m2ts

│          00004.m2ts

│          00005.m2ts

│          00006.m2ts

│          

└─CERTIFICATE

    │  id.bdmv

    │  

    └─BACKUP

            id.bdmv

            

 

 

 

 

 

def zipDir(dirpath,outFullName):
    """
    压缩指定文件夹
    :param dirpath: 目标文件夹路径
    :param outFullName: 压缩文件保存路径 xxxx.zip
    :return: 无
    """
    zip = zipfile.ZipFile(outFullName,"w",zipfile.ZIP_DEFLATED)
    for path,dirnames,filenames in os.walk(dirpath):
        # 去掉目标跟路径,只对目标文件夹下边的文件及文件夹进行压缩
        fpath = path.replace(dirpath,'')

        for filename in filenames:
            zip.write(os.path.join(path,filename),os.path.join(fpath,filename))
    zip.close()

解压附件中的文件,直接在当前文件夹(包括子文件夹)中即可完成对js/css文件的压缩

2. Iso内部格式如下

蓝光原盘只有bdmv、certificate两个文件夹

在BDMV中找到STREAM文件夹并进入;在STREAM文件下可以看到视频文件,扩展名为m2ts

2.压缩文件夹及文件代码:

4. Bdmv文件夹格式 详细2

 

2.1. Bdmv文件夹格式 BDMV(Blu-ray Disk Movie、BD-MV),为蓝光光碟规格之一的“BD-ROM”所使用的格式之一1

 

 

1.发送EMAIL带附件,并且带压缩文件夹做为附件

3. m2ts

 编辑

.m2ts 是一种视频文件格式(container)可支持多任务的影音流。 m2ts架构于MPEG transport stream 以及著名的 BDAV MPEG-2 transport stream. 这种文件格式多支持于高清的 Blu-ray Disc 与 AVCHD。DV拍摄的视频文件在DV硬盘里的AVCHD目录内显示是MTS文件,这是一种采用MPGE-4AVC/H.264格式编码的高清视频文件,通过附带的PMB转换到电脑硬盘后变为M2TS。这种优化压缩的视频格式拍摄出来的视频质量明显优于MPEG2压缩的HD高清格式

 

M2TS是指Blu-ray BDMV的stream 封装容器

这种基于MPEG4 H.264 M2TS是指Blu-ray BDMV的stream 封装容器。简单来理解即是“高清视频格式”。

MTS文件,这是一种采用MPGE-4 AVC/H.264格式编码的高清视频文件,通过附带的PMB转换到电脑硬盘后变为M2TS。这种基于MPEG4 H.264优化压缩的视频格式拍摄出来的视频质量明显优于MPEG2压缩的HD高清格式。

 

 

2.1. Bdmv文件夹格式 BDMV(Blu-ray Disk Movie、BD-MV),为蓝光光碟规格之一的“BD-ROM”所使用的格式之一

 

作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: 

 

文件夹 PATH 列表

卷序列号为 0000-4823

E:.

├─BDMV

│  ├─AUXDATA

│  ├─BACKUP

│  │  ├─CLIPINF

│  │  ├─JAR

│  │  │  └─00000

│  │  └─PLAYLIST

│  ├─CLIPINF

│  ├─JAR

│  │  └─00000

│  ├─META

│  │  └─DL

│  ├─PLAYLIST

│  └─STREAM

└─CERTIFICATE

    └─BACKUP

 

 

1. Iso是个复合文件

Atitit.iso格式蓝光 BDMV 结构说明

本文由分分快三计划发布,转载请注明来源

关键词: 分分快三计划