Home > Backend Development > Python Tutorial > Detailed explanation of python email sending example code

Detailed explanation of python email sending example code

高洛峰
Release: 2017-02-23 16:41:05
Original
1632 people have browsed it

本篇文章主要介绍了python 发送邮件实例代码,详细的介绍了各种方式发送邮件,包括文件形式的邮件、HTML形式的邮件、带图片的HTML邮件等,有兴趣的可以了解一下。

python 发送邮件实例

文件形式的邮件

#!/usr/bin/env python3 
#coding: utf-8 
import smtplib 
from emailmimetext import MIMEText 
from emailheader import Header 
 
sender = '***' 
receiver = '***' 
subject = 'python email test' 
smtpserver = 'smtpcom' 
username = '***' 
password = '***' 
 
msg = MIMEText('你好','text','utf-8')#中文需参数‘utf-8',单字节字符不需要 
msg['Subject'] = Header(subject, 'utf-8') 
 
smtp = smtplibSMTP() 
smtpconnect('smtpcom') 
smtplogin(username, password) 
smtpsendmail(sender, receiver, msgas_string()) 
smtpquit()
Copy after login

HTML形式的邮件

#!/usr/bin/env python3 
#coding: utf-8 
import smtplib 
from emailmimetext import MIMEText 
 
sender = '***' 
receiver = '***' 
subject = 'python email test' 
smtpserver = 'smtpcom' 
username = '***' 
password = '***' 
 
msg = MIMEText(&#39;<html><h1>你好</h1></html>&#39;,&#39;html&#39;,&#39;utf-8&#39;) 
 
msg[&#39;Subject&#39;] = subject 
 
smtp = smtplibSMTP() 
smtpconnect(&#39;smtpcom&#39;) 
smtplogin(username, password) 
smtpsendmail(sender, receiver, msgas_string()) 
smtpquit()
Copy after login

带图片的HTML邮件

#!/usr/bin/env python3 
#coding: utf-8 
import smtplib 
from emailmimemultipart import MIMEMultipart 
from emailmimetext import MIMEText 
from emailmimeimage import MIMEImage 
 
sender = &#39;***&#39; 
receiver = &#39;***&#39; 
subject = &#39;python email test&#39; 
smtpserver = &#39;smtpcom&#39; 
username = &#39;***&#39; 
password = &#39;***&#39; 
 
msgRoot = MIMEMultipart(&#39;related&#39;) 
msgRoot[&#39;Subject&#39;] = &#39;test message&#39; 
 
msgText = MIMEText(&#39;<b>Some <i>HTML</i> text</b> and an image<br><img src="cid:image1"><br>good!&#39;,&#39;html&#39;,&#39;utf-8&#39;) 
msgRootattach(msgText) 
 
fp = open(&#39;h:\\python\\jpg&#39;, &#39;rb&#39;) 
msgImage = MIMEImage(fpread()) 
fpclose() 
 
msgImageadd_header(&#39;Content-ID&#39;, &#39;<image1>&#39;) 
msgRootattach(msgImage) 
 
smtp = smtplibSMTP() 
smtpconnect(&#39;smtpcom&#39;) 
smtplogin(username, password) 
smtpsendmail(sender, receiver, msgRootas_string()) 
smtpquit()
Copy after login

带附件的邮件

#!/usr/bin/env python3 
#coding: utf-8 
import smtplib 
from emailmimemultipart import MIMEMultipart 
from emailmimetext import MIMEText 
from emailmimeimage import MIMEImage 
 
sender = &#39;***&#39; 
receiver = &#39;***&#39; 
subject = &#39;python email test&#39; 
smtpserver = &#39;smtpcom&#39; 
username = &#39;***&#39; 
password = &#39;***&#39; 
 
msgRoot = MIMEMultipart(&#39;related&#39;) 
msgRoot[&#39;Subject&#39;] = &#39;test message&#39; 
 
#构造附件 
att = MIMEText(open(&#39;h:\\python\\jpg&#39;, &#39;rb&#39;)read(), &#39;base64&#39;, &#39;utf-8&#39;) 
att["Content-Type"] = &#39;application/octet-stream&#39; 
att["Content-Disposition"] = &#39;attachment; filename="jpg"&#39; 
msgRootattach(att) 
     
smtp = smtplibSMTP() 
smtpconnect(&#39;smtpcom&#39;) 
smtplogin(username, password) 
smtpsendmail(sender, receiver, msgRootas_string()) 
smtpquit()
Copy after login

群邮件

#!/usr/bin/env python3 
#coding: utf-8 
import smtplib 
from emailmimetext import MIMEText 
 
sender = &#39;***&#39; 
receiver = [&#39;***&#39;,&#39;****&#39;,……] 
subject = &#39;python email test&#39; 
smtpserver = &#39;smtpcom&#39; 
username = &#39;***&#39; 
password = &#39;***&#39; 
 
msg = MIMEText(&#39;你好&#39;,&#39;text&#39;,&#39;utf-8&#39;) 
 
msg[&#39;Subject&#39;] = subject 
 
smtp = smtplibSMTP() 
smtpconnect(&#39;smtpcom&#39;) 
smtplogin(username, password) 
smtpsendmail(sender, receiver, msgas_string()) 
smtpquit()
Copy after login

各种元素都包含的邮件

#!/usr/bin/env python3 
#coding: utf-8 
import smtplib 
from emailmimemultipart import MIMEMultipart 
from emailmimetext import MIMEText 
from emailmimeimage import MIMEImage 
 
sender = &#39;***&#39; 
receiver = &#39;***&#39; 
subject = &#39;python email test&#39; 
smtpserver = &#39;smtpcom&#39; 
username = &#39;***&#39; 
password = &#39;***&#39; 
 
# Create message container - the correct MIME type is multipart/alternative 
msg = MIMEMultipart(&#39;alternative&#39;) 
msg[&#39;Subject&#39;] = "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.php.cn/" 
html = """\ 
<html> 
 <head></head> 
 <body> 
  <p>Hi!<br> 
    How are you?<br> 
    Here is the <a href="http://wwwpythonorg">link</a> you wanted 
  </p> 
 </body> 
</html> 
""" 
 
# Record the MIME types of both parts - text/plain and text/html 
part1 = MIMEText(text, &#39;plain&#39;) 
part2 = MIMEText(html, &#39;html&#39;) 
 
# 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 
msgattach(part1) 
msgattach(part2) 
#构造附件 
att = MIMEText(open(&#39;h:\\python\\jpg&#39;, &#39;rb&#39;)read(), &#39;base64&#39;, &#39;utf-8&#39;) 
att["Content-Type"] = &#39;application/octet-stream&#39; 
att["Content-Disposition"] = &#39;attachment; filename="jpg"&#39; 
msgattach(att) 
   
smtp = smtplibSMTP() 
smtpconnect(&#39;smtpcom&#39;) 
smtplogin(username, password) 
smtpsendmail(sender, receiver, msgas_string()) 
smtpquit()
Copy after login

基于SSL的邮件

#!/usr/bin/env python3 
#coding: utf-8 
import smtplib 
from emailmimetext import MIMEText 
from emailheader import Header 
sender = &#39;***&#39; 
receiver = &#39;***&#39; 
subject = &#39;python email test&#39; 
smtpserver = &#39;smtpcom&#39; 
username = &#39;***&#39; 
password = &#39;***&#39; 
 
msg = MIMEText(&#39;你好&#39;,&#39;text&#39;,&#39;utf-8&#39;)#中文需参数‘utf-8&#39;,单字节字符不需要 
msg[&#39;Subject&#39;] = Header(subject, &#39;utf-8&#39;) 
 
smtp = smtplibSMTP() 
smtpconnect(&#39;smtpcom&#39;) 
smtpehlo() 
smtpstarttls() 
smtpehlo() 
smtpset_debuglevel(1) 
smtplogin(username, password) 
smtpsendmail(sender, receiver, msgas_string()) 
smtpquit()
Copy after login

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持PHP中文网。

更多详解python 发送邮件实例代码相关文章请关注PHP中文网!


Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template