免费注册 查看新帖 |

Chinaunix

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

python 的email模块发送邮件 [复制链接]

论坛徽章:
4
天蝎座
日期:2013-11-06 11:39:34巳蛇
日期:2014-01-16 16:53:14午马
日期:2014-08-25 21:42:302015年迎新春徽章
日期:2015-03-03 17:21:44
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-11-19 11:22 |只看该作者 |倒序浏览
一直再找linux下 用shell 发送邮件的方法。找了好长时间也没有找到,最终决点用python 的email模块发送邮件,在网上找了一下代码。
转自:
李卫公的长安城
http://blog.donews.com/maverick/archive/2007/04/22/1159142.aspx
再此表示感谢
#!/usr/bin/python
# -*- coding: utf-8 -*-
import email
import mimetypes
from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText
from email.MIMEImage import MIMEImage
import smtplib
def 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)
        #发送邮件
         smtp = smtplib.SMTP()
        #设定调试级别,依情况而定
         smtp.set_debuglevel(1)
         smtp.connect(server)
         smtp.login(user, passwd)
         smtp.sendmail(strFrom, strTo, msgRoot.as_string())
         smtp.quit()
         return
if __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/u1/39578/showart_1423571.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP