- #!/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(\'你好\',\'text\',\'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><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邮件
- #!/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()
带附件的邮件
- #!/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(\'你好\',\'text\',\'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 = """\\
- <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的邮件
- #!/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(\'你好\',\'text\',\'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()
文件形式的邮件
- #!/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(\'你好\',\'text\',\'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><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邮件
- #!/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()
- #!/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(\'你好\',\'text\',\'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 = """\\
- <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的邮件
- #!/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(\'你好\',\'text\',\'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()