自动打包后续 发送邮件

打包后,希望测试组能及时收到相关包下载的信息,所以这里添加了发送邮件的功能。

SMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件。

由于这种便捷的关系,这里使用Python脚本实现整个过程。这里直接在网上搜索了相关知识,稍加修改有了下面的ipa.py 脚本内容:

# -*- coding: utf-8 -*-
from email import encoders
from email.header import Header
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
from email.mime.multipart import MIMEMultipart
from email.utils import parseaddr, formataddr

import smtplib

def _format_addr(s):
    name, addr = parseaddr(s)
    return formataddr(( \
        Header(name, 'utf-8').encode(), \
        addr.encode('utf-8') if isinstance(addr, unicode) else addr))

from_addr = '发送邮件的邮箱名'
password = '发送邮件的邮箱密码'
to_addr = '接收邮件的邮箱'

msg = MIMEMultipart()
#发送人名称
msg['From'] = _format_addr(u'客户端开发 <%s>' % from_addr)
msg['To'] = _format_addr(u'测试人员 <%s>' % to_addr)
#发送邮件主题
msg['Subject'] = Header(u'iOS日常包', 'utf-8').encode()

# add MIMEText:
msg.attach(MIMEText('包地址:fir.im.\n附件为fir下载二维码\n', 'plain', 'utf-8'))

# add file:
with open('/Users/charleswang/Downloads/fir.png', 'rb') as f:
    mime = MIMEBase('image', 'png', filename='fir.png')
    mime.add_header('Content-Disposition', 'attachment', filename='fir.png')
    mime.add_header('Content-ID', '<0>')
    mime.add_header('X-Attachment-Id', '0')
    mime.set_payload(f.read())
    encoders.encode_base64(mime)
    msg.attach(mime)

server = smtplib.SMTP('smtp.exmail.qq.com', 25)
server.set_debuglevel(1)
server.login(from_addr, password)
server.sendmail(from_addr, [to_addr], msg.as_string())
server.quit()
复制代码

备注:这里发送邮件需要在邮箱中进行设置,这里以QQ邮箱为例,点击设置->账户,下拉找到下图:

建立bulid_ipa.sh文件:

cd 工程根目录下

python /Volumes/Untitled/Chrome/ipapy-master/ipa.py 
复制代码

脚本运行结束提示:

reply: '250 Ok: queued as \r\n'
reply: retcode (250); Msg: Ok: queued as
data: (250, 'Ok: queued as')
send: 'quit\r\n'
reply: '221 Bye\r\n'
reply: retcode (221); Msg: Bye
复制代码

至此,完成邮件发送

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值