免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2710 | 回复: 0
打印 上一主题 下一主题

python发邮件 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-11-23 17:59 |只看该作者 |倒序浏览

                一直再找linux下 用shell 发送邮件的方法。找了好长时间也没有找到,最终决点用python 的email模块发送邮件,在网上找了一下代码。转自:
[color="#0000ff"]李卫公的长安城
http://blog.donews.com/maverick/archive/2007/04/22/1159142.aspx再此表示感谢#!/usr/bin/python# -*- coding: utf-8 -*-import emailimport mimetypesfrom email.MIMEMultipart import MIMEMultipartfrom email.MIMEText import MIMETextfrom email.MIMEImage import MIMEImageimport smtplibdef sendEmail(authInfo, fromAdd, toAdd, subject, plainText, htmlText):        strFrom = fromAdd        strTo = ', '.join(toAdd)        server = authInfo.get('server')        user = authInfo.get('user')        passwd = authInfo.get('password')        if not (server and user and passwd) :                print 'incomplete login info, exit now'                return        # 设定root信息        msgRoot = MIMEMultipart('related')        msgRoot['Subject'] = subject        msgRoot['From'] = strFrom        msgRoot['To'] = strTo        msgRoot.preamble = 'This is a multi-part message in MIME format.'        # Encapsulate the plain and HTML versions of the message body in an        # 'alternative' part, so message agents can decide which they want to display.        msgAlternative = MIMEMultipart('alternative')        msgRoot.attach(msgAlternative)        #设定纯文本信息        msgText = MIMEText(plainText, 'plain', 'utf-8')        msgAlternative.attach(msgText)        #设定HTML信息        msgText = MIMEText(htmlText, 'html', 'utf-8')        msgAlternative.attach(msgText)       #设定内置图片信息        fp = open('test.jpg', 'rb')        msgImage = MIMEImage(fp.read())        fp.close()        msgImage.add_header('Content-ID', '')        msgRoot.attach(msgImage)                #创建一个带附件的实例        msg = MIMEMultipart()        #构造附件        att = MIMEText(open('d:\\1.jpg', 'rb').read(), 'base64', 'utf-8')        att["Content-Type"] = 'application/octet-stream'        att["Content-Disposition"] = 'attachment; filename="1.jpg"'        msgAlternative.attach(att)       #发送邮件        smtp = smtplib.SMTP()       #设定调试级别,依情况而定        smtp.set_debuglevel(1)        smtp.connect(server)        smtp.login(user, passwd)        smtp.sendmail(strFrom, toAdd, msgRoot.as_string())        smtp.quit()        returnif __name__ == '__main__' :        authInfo = {}        authInfo['server'] = 'smtp.somehost.com'        authInfo['user'] = 'username'        authInfo['password'] = 'password'        fromAdd = 'username@somehost.com'        toAdd = ['someone@somehost.com', 'other@somehost.com']        subject = '邮件主题'        plainText = '这里是普通文本'        htmlText = 'HTML文本'        sendEmail(authInfo, fromAdd, toAdd, subject, plainText, htmlText)
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/103570/showart_2101382.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP