第一种方法:
第二种方法:
- # -*- 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', '<image1>')
- # 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.sendmail(strFrom, strTo, msgRoot.as_string())
- smtp.quit()
- return
- if __name__ == '__main__' :
- authInfo = {}
- authInfo['server'] = 'smtp.***.cn'
- authInfo['user'] = '***@***.cn'
- authInfo['password'] = '***'
- fromAdd = '***@***.cn'
- toAdd = ['***@163.com', '***@gamil.com']
- subject = 'title'
- plainText = '这里是普通文本'
- htmlText = '<B>HTML文本</B>'
- sendEmail(authInfo, fromAdd, toAdd, subject, plainText, htmlText)
第二种方法:
- #coding=utf-8
- import smtplib,email,sys
- from email.Message import Message
- smtpserver='smtp.***.cn'
- smtpuser='***@***.cn'
- smtppass='***'
- smtpport='25'
- def connect():
- "connect to smtp server and return a smtplib.SMTP instance object"
- server=smtplib.SMTP(smtpserver,smtpport)
- server.ehlo()
- server.login(smtpuser,smtppass)
- return server
- def sendmessage(server,to,subj,content):
- "using server send a email"
- msg = Message()
- msg['Mime-Version']='1.0'
- msg['From'] = smtpuser
- msg['To'] = to
- msg['Subject'] = subj
- msg['Date'] = email.Utils.formatdate() # curr datetime, rfc2822
- msg.set_payload(content)
- try:
- failed = server.sendmail(smtpuser,to,str(msg)) # may also raise exc
- except Exception ,ex:
- print Exception,ex
- print 'Error - send failed'
- else:
- print "send success!"
- if __name__=="__main__":
- #frm=raw_input('From? ').strip()
- # to=raw_input('To? ').strip()
- # subj=raw_input('Subj? ').strip()
- to='***@***.com'
- subj='title1111'
- print 'Type message text, end with line="."'
- text = 'content'
- # while True:
- # line = sys.stdin.readline()
- # if line == '. ': break
- # text += line
- server=connect()
- sendmessage(server,to,subj,text)
<iframe style="font-size: 12px; line-height: 18px;" src="http://canofy.iteye.com/iframe_ggbd/187" frameborder="0" scrolling="no" width="680" height="90"></iframe>
改为
即可