欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python 發(fā)送SMTP郵件的簡(jiǎn)單教程

 更新時(shí)間:2021年06月24日 08:41:29   作者:Captain_Li  
SMTP(Simple Mail Transfer Protocol)簡(jiǎn)單郵件傳輸協(xié)議,Python內(nèi)置對(duì)SMTP的支持,可以發(fā)送純文本文件,HTML郵件以及附帶文件。本文講解如何使用python發(fā)送郵件

一、兩個(gè)模塊

Python使用SMTP發(fā)送郵件的兩個(gè)模塊:smtplib模塊、email模塊。

  • smtplib:負(fù)責(zé)發(fā)送郵件
  • email:負(fù)責(zé)構(gòu)建郵件

二、SMTP端口

1)未加密端口,smtplib.SMTP接口,端口:25
2)使用SSL加密,smtplib.SMTP_SSL接口,端口:465
3)使用TLS加密,端口:587 

三、四大步驟

1、構(gòu)造郵件內(nèi)容

# 純文本
msg = MIMEText(content)
 
# 附件
msg = MIMEMultipart()

2、連接郵件服務(wù)器

s = smtplib.SMTP("smtp.qq.com", 25)

3、登陸郵件服務(wù)器

s.login(msg_from, passwd) 

msg_from:指發(fā)送者的郵箱

passwd:指發(fā)送者的密碼,這個(gè)密碼不是你的QQ登陸密碼,而是你在QQ郵箱設(shè)置開啟SMTP之后的一個(gè)授權(quán)碼

4、發(fā)送郵件

s.sendmail(msg_from, msg_to, msg.as_string())

msg_from:發(fā)送方
msg_to:收件方
msg.as_string():要發(fā)送的消息

四、常用場(chǎng)景

1、純文本郵件

import smtplib
from email.mime.text import MIMEText
from email.header import Header
 
 
# 發(fā)送者
msg_from = "xxxxx@qq.com"
 
# 這里的密碼不是QQ郵箱的密碼,而是在設(shè)置里開啟SMTP服務(wù)器后的授權(quán)碼
passwd = "xxxxx"
 
# 接受者
msg_to = "xxxx@qq.com"
 
# 郵件文本
content = 'Python 郵件發(fā)送測(cè)試...'
 
# 郵件主題
subject = "test"
 
# 生成一個(gè)MIMEText對(duì)象(還有一些其它參數(shù))
msg = MIMEText(content)
 
# 放入郵件主題
msg['Subject'] = Header(subject, 'utf-8')
 
# 放入發(fā)件人
msg['From'] = msg_from
 
try:
    # 連接郵件服務(wù)器
    s = smtplib.SMTP("smtp.qq.com", 25)
 
    # 登錄到郵箱
    s.login(msg_from, passwd)
 
    # 發(fā)送郵件:發(fā)送方,收件方,要發(fā)送的消息
    s.sendmail(msg_from, msg_to, msg.as_string())
    print('成功')
except s.SMTPException as e:
    print(e)
finally:
    s.quit()

2、發(fā)送html文本

import smtplib
from email.mime.text import MIMEText
from email.header import Header
 
 
# 發(fā)送者
msg_from = "xxxx@qq.com"
 
# 這里的密碼不是QQ郵箱的密碼,而是在設(shè)置里開啟SMTP服務(wù)器后的授權(quán)碼
passwd = "xxxx"
 
# 接受者
msg_to = "xxxx@qq.com"
 
# 郵件文本
content = """
<p>Python 郵件發(fā)送測(cè)試...</p>
<p><a  rel="external nofollow" >這是一個(gè)鏈接</a></p>
"""
 
# 郵件主題
subject = "test"
 
# 生成一個(gè)MIMEText對(duì)象(
msg = MIMEText(content, 'html', 'utf-8')
 
# 放入郵件主題
msg['Subject'] = Header(subject, 'utf-8')
 
# 放入發(fā)件人
msg['From'] = msg_from
 
try:
    # 連接郵件服務(wù)器
    s = smtplib.SMTP("smtp.qq.com", 25)
 
    # 登錄到郵箱
    s.login(msg_from, passwd)
 
    # 發(fā)送郵件:發(fā)送方,收件方,要發(fā)送的消息
    s.sendmail(msg_from, msg_to, msg.as_string())
    print('成功')
except s.SMTPException as e:
    print(e)
finally:
    s.quit()

3、發(fā)送附件

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.header import Header
 
 
# 發(fā)送者
msg_from = "xxxx@qq.com"
 
# 這里的密碼不是QQ郵箱的密碼,而是在設(shè)置里開啟SMTP服務(wù)器后的授權(quán)碼
passwd = "xxxx"
 
# 接受者
msg_to = "xxxx@qq.com"
 
# 郵件主題
subject = "test"
 
# 生成一個(gè)MIMEMultipart對(duì)象(
msg = message = MIMEMultipart()
 
# 郵件文本
message.attach(MIMEText('這是菜鳥教程Python 郵件發(fā)送測(cè)試……', 'plain', 'utf-8'))
 
# 放入郵件主題
msg['Subject'] = Header(subject, 'utf-8')
 
# 放入發(fā)件人
msg['From'] = msg_from
 
# 添加附件
att1 = MIMEText(open('./wordcloud_singer.py', 'rb').read(), 'base64', 'utf-8')
att1["Content-Type"] = 'application/octet-stream'
att1["Content-Disposition"] = 'attachment; filename="test.txt"'
msg.attach(att1)
 
try:
    # 連接郵件服務(wù)器
    s = smtplib.SMTP("smtp.qq.com", 25)
 
    # 登錄到郵箱
    s.login(msg_from, passwd)
 
    # 發(fā)送郵件:發(fā)送方,收件方,要發(fā)送的消息
    s.sendmail(msg_from, msg_to, msg.as_string())
    print('成功')
except s.SMTPException as e:
    print(e)
finally:
    s.quit()

以上就是Python 發(fā)送SMTP郵件的簡(jiǎn)單教程的詳細(xì)內(nèi)容,更多關(guān)于Python 發(fā)送郵件的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論