文件形式的邮件
1 #!/usr/bin/env python3
2 #coding: utf-8
3 import smtplib
4 from email.mime.text import MIMEText
5 from email.header import Header
6
7 sender = '***'
8 receiver = '***'
9 subject = 'python email test'
10 smtpserver = 'smtp.163.com'
11 username = '***'
12 password = '***'
13
14 msg = MIMEText('你好','text','utf-8')
15 msg['Subject'] = Header(subject, 'utf-8')
16
17 smtp = smtplib.SMTP()
18 smtp.connect('smtp.163.com')
19 smtp.login(username, password)
20 smtp.sendmail(sender, receiver, msg.as_string())
21 smtp.quit()
HTML形式的邮件
1 #!/usr/bin/env python3
2 #coding: utf-8
3 import smtplib
4 from email.mime.text import MIMEText
5
6 sender = '***'
7 receiver = '***'
8 subject = 'python email test'
9 smtpserver = 'smtp.163.com'
10 username = '***'
11 password = '***'
12
13 msg = MIMEText('<html><h1>你好</h1></html>','html','utf-8')
14
15 msg['Subject'] = subject
16
17 smtp = smtplib.SMTP()
18 smtp.connect('smtp.163.com')
19 smtp.login(username, password)
20 smtp.sendmail(sender, receiver, msg.as_string())
21 smtp.quit()
带图片的HTML邮件
1 #!/usr/bin/env python3
2 #coding: utf-8
3 import smtplib
4 from email.mime.multipart import MIMEMultipart
5 from email.mime.text import MIMEText
6 from email.mime.image import MIMEImage
7
8 sender = '***'
9 receiver = '***'
10 subject = 'python email test'
11 smtpserver = 'smtp.163.com'
12 username = '***'
13 password = '***'
14
15 msgRoot = MIMEMultipart('related')
16 msgRoot['Subject'] = 'test message'
17
18 msgText = MIMEText('<b>Some <i>HTML</i> text</b> and an image.<br><img src="cid:image1"><br>good!','html','utf-8')
19 msgRoot.attach(msgText)
20
21 fp = open('h:\python\1.jpg', 'rb')
22 msgImage = MIMEImage(fp.read())
23 fp.close()
24
25 msgImage.add_header('Content-ID', '<image1>')
26 msgRoot.attach(msgImage)
27
28 smtp = smtplib.SMTP()
29 smtp.connect('smtp.163.com')
30 smtp.login(username, password)
31 smtp.sendmail(sender, receiver, msgRoot.as_string())
32 smtp.quit()
带附件的邮件
1 #!/usr/bin/env python3
2 #coding: utf-8
3 import smtplib
4 from email.mime.multipart import MIMEMultipart
5 from email.mime.text import MIMEText
6 from email.mime.image import MIMEImage
7
8 sender = '***'
9 receiver = '***'
10 subject = 'python email test'
11 smtpserver = 'smtp.163.com'
12 username = '***'
13 password = '***'
14
15 msgRoot = MIMEMultipart('related')
16 msgRoot['Subject'] = 'test message'
17
18 # 构造附件
19 att = MIMEText(open('h:\python\1.jpg', 'rb').read(), 'base64', 'utf-8')
20 att["Content-Type"] = 'application/octet-stream'
21 att["Content-Disposition"] = 'attachment; filename="1.jpg"'
22 msgRoot.attach(att)
23
24 smtp = smtplib.SMTP()
25 smtp.connect('smtp.163.com')
26 smtp.login(username, password)
27 smtp.sendmail(sender, receiver, msgRoot.as_string())
28 smtp.quit()
群邮件
1 #!/usr/bin/env python3
2 #coding: utf-8
3 import smtplib
4 from email.mime.text import MIMEText
5
6 sender = '***'
7 receiver = ['***','****',……]
8 subject = 'python email test'
9 smtpserver = 'smtp.163.com'
10 username = '***'
11 password = '***'
12
13 msg = MIMEText('你好','text','utf-8')
14
15 msg['Subject'] = subject
16
17 smtp = smtplib.SMTP()
18 smtp.connect('smtp.163.com')
19 smtp.login(username, password)
20 smtp.sendmail(sender, receiver, msg.as_string())
21 smtp.quit()
各种元素都包含的邮件
1 #!/usr/bin/env python3
2 #coding: utf-8
3 import smtplib
4 from email.mime.multipart import MIMEMultipart
5 from email.mime.text import MIMEText
6 from email.mime.image import MIMEImage
7
8 sender = '***'
9 receiver = '***'
10 subject = 'python email test'
11 smtpserver = 'smtp.163.com'
12 username = '***'
13 password = '***'
14
15 # Create message container - the correct MIME type is multipart/alternative.
16 msg = MIMEMultipart('alternative')
17 msg['Subject'] = "Link"
18
19 # Create the body of the message (a plain-text and an HTML version).
20 text = "Hi!
How are you?
Here is the link you wanted:
http://www.python.org"
21 html = """
22 <html>
23 <head></head>
24 <body>
25 <p>Hi!<br>
26 How are you?<br>
27 Here is the <a href="http://www.python.org">link</a> you wanted.
28 </p>
29 </body>
30 </html>
31 """
32
33 # Record the MIME types of both parts - text/plain and text/html.
34 part1 = MIMEText(text, 'plain')
35 part2 = MIMEText(html, 'html')
36
37 # Attach parts into message container.
38 # According to RFC 2046, the last part of a multipart message, in this case
39 # the HTML message, is best and preferred.
40 msg.attach(part1)
41 msg.attach(part2)
42 #构造附件
43 att = MIMEText(open('h:\python\1.jpg', 'rb').read(), 'base64', 'utf-8')
44 att["Content-Type"] = 'application/octet-stream'
45 att["Content-Disposition"] = 'attachment; filename="1.jpg"'
46 msg.attach(att)
47
48 smtp = smtplib.SMTP()
49 smtp.connect('smtp.163.com')
50 smtp.login(username, password)
51 smtp.sendmail(sender, receiver, msg.as_string())
52 smtp.quit()