檔案形式的郵件
原文連結:http://blog.csdn.net/wyuan8913/article/details/6917873
[python]
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形式的郵件
[python]
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郵件
[python]
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="cid:image1"><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()
帶附件的郵件
[python]
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["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()
群郵件
[python]
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()
各種元素都包含的郵件
[python]
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'] = "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 = """\
- <html>
- <head></head>
- <body>
- <p>Hi!<br>
- How are you?<br>
- Here is the <a href="http://www.python.org">link</a> you wanted.
- </p>
- </body>
- </html>
- """
-
- # 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的郵件
[python]
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()