snake_l 发表于 2015-11-25 11:46:02

use python to sendmail

  文件形式的邮件
view plaincopy
[*]#!/usr/bin/env python3
[*]#coding: utf-8
[*]import smtplib
[*]from email.mime.text import MIMEText
[*]from email.header import Header
[*]
[*]sender = '***'
[*]receiver = '***'
[*]subject = 'python email test'
[*]smtpserver = 'smtp.163.com'
[*]username = '***'
[*]password = '***'
[*]
[*]msg = MIMEText('你好','plain','utf-8')#中文需参数‘utf-8’,单字节字符不需要
[*]msg['Subject'] = Header(subject, 'utf-8')
[*]
[*]smtp = smtplib.SMTP()
[*]smtp.connect('smtp.163.com')
[*]smtp.login(username, password)
[*]smtp.sendmail(sender, receiver, msg.as_string())
[*]smtp.quit()
  HTML形式的邮件
view plaincopy
[*]#!/usr/bin/env python3
[*]#coding: utf-8
[*]import smtplib
[*]from email.mime.text import MIMEText
[*]
[*]sender = '***'
[*]receiver = '***'
[*]subject = 'python email test'
[*]smtpserver = 'smtp.163.com'
[*]username = '***'
[*]password = '***'
[*]
[*]msg = MIMEText('<html><h1>你好</h1></html>','html','utf-8')
[*]
[*]msg['Subject'] = subject
[*]
[*]smtp = smtplib.SMTP()
[*]smtp.connect('smtp.163.com')
[*]smtp.login(username, password)
[*]smtp.sendmail(sender, receiver, msg.as_string())
[*]smtp.quit()
  带图片的HTML邮件
view plaincopy
[*]#!/usr/bin/env python3
[*]#coding: utf-8
[*]import smtplib
[*]from email.mime.multipart import MIMEMultipart
[*]from email.mime.text import MIMEText
[*]from email.mime.image import MIMEImage
[*]
[*]sender = '***'
[*]receiver = '***'
[*]subject = 'python email test'
[*]smtpserver = 'smtp.163.com'
[*]username = '***'
[*]password = '***'
[*]
[*]msgRoot = MIMEMultipart('related')
[*]msgRoot['Subject'] = 'test message'
[*]
[*]msgText = MIMEText('<b>Some <i>HTML</i> text</b> and an image.<br><img src=&quot;cid:image1&quot;><br>good!','html','utf-8')
[*]msgRoot.attach(msgText)
[*]
[*]fp = open('h:\\python\\1.jpg', 'rb')
[*]msgImage = MIMEImage(fp.read())
[*]fp.close()
[*]
[*]msgImage.add_header('Content-ID', '<image1>')
[*]msgRoot.attach(msgImage)
[*]
[*]smtp = smtplib.SMTP()
[*]smtp.connect('smtp.163.com')
[*]smtp.login(username, password)
[*]smtp.sendmail(sender, receiver, msgRoot.as_string())
[*]smtp.quit()
带附件的邮件 view plaincopy
[*]#!/usr/bin/env python3
[*]#coding: utf-8
[*]import smtplib
[*]from email.mime.multipart import MIMEMultipart
[*]from email.mime.text import MIMEText
[*]from email.mime.image import MIMEImage
[*]
[*]sender = '***'
[*]receiver = '***'
[*]subject = 'python email test'
[*]smtpserver = 'smtp.163.com'
[*]username = '***'
[*]password = '***'
[*]
[*]msgRoot = MIMEMultipart('related')
[*]msgRoot['Subject'] = 'test message'
[*]
[*]#构造附件
[*]att = MIMEText(open('h:\\python\\1.jpg', 'rb').read(), 'base64', 'utf-8')
[*]att[&quot;Content-Type&quot;] = 'application/octet-stream'
[*]att[&quot;Content-Disposition&quot;] = 'attachment; filename=&quot;1.jpg&quot;'
[*]msgRoot.attach(att)
[*]         
[*]smtp = smtplib.SMTP()
[*]smtp.connect('smtp.163.com')
[*]smtp.login(username, password)
[*]smtp.sendmail(sender, receiver, msgRoot.as_string())
[*]smtp.quit()
  群邮件
view plaincopy
[*]#!/usr/bin/env python3
[*]#coding: utf-8
[*]import smtplib
[*]from email.mime.text import MIMEText
[*]
[*]sender = '***'
[*]receiver = ['***','****',……]
[*]subject = 'python email test'
[*]smtpserver = 'smtp.163.com'
[*]username = '***'
[*]password = '***'
[*]
[*]msg = MIMEText('你好','plain','utf-8')
[*]
[*]msg['Subject'] = subject
[*]
[*]smtp = smtplib.SMTP()
[*]smtp.connect('smtp.163.com')
[*]smtp.login(username, password)
[*]smtp.sendmail(sender, receiver, msg.as_string())
[*]smtp.quit()
  各种元素都包含的邮件
view plaincopy
[*]#!/usr/bin/env python3
[*]#coding: utf-8
[*]import smtplib
[*]from email.mime.multipart import MIMEMultipart
[*]from email.mime.text import MIMEText
[*]from email.mime.image import MIMEImage
[*]
[*]sender = '***'
[*]receiver = '***'
[*]subject = 'python email test'
[*]smtpserver = 'smtp.163.com'
[*]username = '***'
[*]password = '***'
[*]
[*]# Create message container - the correct MIME type is multipart/alternative.
[*]msg = MIMEMultipart('alternative')
[*]msg['Subject'] = &quot;Link&quot;
[*]
[*]# Create the body of the message (a plain-text and an HTML version).
[*]text = &quot;Hi!\nHow are you?\nHere is the link you wanted:\nhttp://www.python.org&quot;
[*]html = &quot;&quot;&quot;\
[*]<html>
[*]<head></head>
[*]<body>
[*]    <p>Hi!<br>
[*]       How are you?<br>
[*]       Here is the <a href=&quot;http://www.python.org&quot;>link</a> you wanted.
[*]    </p>
[*]</body>
[*]</html>
[*]&quot;&quot;&quot;
[*]
[*]# Record the MIME types of both parts - text/plain and text/html.
[*]part1 = MIMEText(text, 'plain')
[*]part2 = MIMEText(html, 'html')
[*]
[*]# Attach parts into message container.
[*]# According to RFC 2046, the last part of a multipart message, in this case
[*]# the HTML message, is best and preferred.
[*]msg.attach(part1)
[*]msg.attach(part2)
[*]#构造附件
[*]att = MIMEText(open('h:\\python\\1.jpg', 'rb').read(), 'base64', 'utf-8')
[*]att[&quot;Content-Type&quot;] = 'application/octet-stream'
[*]att[&quot;Content-Disposition&quot;] = 'attachment; filename=&quot;1.jpg&quot;'
[*]msg.attach(att)
[*]   
[*]smtp = smtplib.SMTP()
[*]smtp.connect('smtp.163.com')
[*]smtp.login(username, password)
[*]smtp.sendmail(sender, receiver, msg.as_string())
[*]smtp.quit()
  基于SSL的邮件
view plaincopy
[*]#!/usr/bin/env python3
[*]#coding: utf-8
[*]import smtplib
[*]from email.mime.text import MIMEText
[*]from email.header import Header
[*]sender = '***'
[*]receiver = '***'
[*]subject = 'python email test'
[*]smtpserver = 'smtp.163.com'
[*]username = '***'
[*]password = '***'
[*]
[*]msg = MIMEText('你好','plain','utf-8')#中文需参数‘utf-8’,单字节字符不需要
[*]msg['Subject'] = Header(subject, 'utf-8')
[*]
[*]smtp = smtplib.SMTP()
[*]smtp.connect('smtp.163.com')
[*]smtp.ehlo()
[*]smtp.starttls()
[*]smtp.ehlo()
[*]smtp.set_debuglevel(1)
[*]smtp.login(username, password)
[*]smtp.sendmail(sender, receiver, msg.as_string())
[*]smtp.quit()
页: [1]
查看完整版本: use python to sendmail