本文实例为大家分享了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