本文实例为大家分享了python邮件发送smtplib使用具体代码,供大家参考,具体内容如下
文件形式的邮件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#!/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形式的邮件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#!/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邮件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
#!/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() |
带附件的邮件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
#!/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() |
群发邮件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#!/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() |
各种元素都包含的邮件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
#!/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" rel="external nofollow" >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的邮件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#!/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() |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/z_johnny/article/details/51136662