Rumah  >  Artikel  >  pembangunan bahagian belakang  >  详解python 发送邮件实例代码

详解python 发送邮件实例代码

高洛峰
高洛峰asal
2017-02-23 16:41:051559semak imbas

本篇文章主要介绍了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()

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()

带图片的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()

带附件的邮件

#!/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()

群邮件

#!/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()

各种元素都包含的邮件

#!/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()

基于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()

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

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


Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn