环境:windows ,python3.2.2
文件形式的邮件
- #!/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形式的邮件
- #!/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','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邮件
- #!/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('Some HTML text and an image.
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',
'') - msgRoot.attach(msgImage)
-
- smtp
= smtplib.SMTP() - smtp.connect('smtp.163.com')
- smtp.login(username,
password) - smtp.sendmail(sender,
receiver, msgRoot.as_string()) - smtp.quit()
- #!/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["Content-Type"]
= 'application/octet-stream' - att["Content-Disposition"]
= 'attachment; filename="1.jpg"' - msgRoot.attach(att)
-
- smtp
= smtplib.SMTP() - smtp.connect('smtp.163.com')
- smtp.login(username,
password) - smtp.sendmail(sender,
receiver, msgRoot.as_string()) - smtp.quit()
群邮件
- #!/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()
各种元素都包含的邮件
- #!/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']
= "Link" -
- #
Create the body of the message (a plain-text and an HTML version). - text
= "Hi!nHow are you?nHere is the link you wanted:nhttp://www.python.org" - html
= """ -
-
-
-
Hi!
-
How are you?
-
Here is the link you wanted. -
-
-
- """
-
- #
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["Content-Type"]
= 'application/octet-stream' - att["Content-Disposition"]
= 'attachment; filename="1.jpg"' - 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的邮件
- #!/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()