精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Python 發(fā)送郵件的三種方法

開發(fā)
今天我們就來學(xué)習(xí)Python發(fā)送郵件的三種方法,分別是使用smtplib模塊、yagmail庫和email庫。每種方法都有其特點(diǎn)和適用場景,讓我們一起來看看吧!

發(fā)送郵件是日常工作中非常常見的需求,無論是個人還是企業(yè),掌握如何使用Python發(fā)送郵件都是非常有用的技能。今天我們就來學(xué)習(xí)Python發(fā)送郵件的三種方法,分別是使用smtplib模塊、yagmail庫和email庫。每種方法都有其特點(diǎn)和適用場景,讓我們一起來看看吧!

1. 使用smtplib模塊發(fā)送郵件

smtplib 是 Python 標(biāo)準(zhǔn)庫中的一個模塊,用于發(fā)送郵件。它提供了 SMTP(Simple Mail Transfer Protocol)協(xié)議的實(shí)現(xiàn)。下面我們通過一個簡單的例子來學(xué)習(xí)如何使用 smtplib 發(fā)送郵件。

示例代碼:

import smtplib
from email.mime.text import MIMEText
from email.header import Header

# 郵件發(fā)送方和接收方
sender = 'your_email@example.com'
receiver = 'recipient_email@example.com'

# 郵件內(nèi)容
message = MIMEText('這是一封測試郵件', 'plain', 'utf-8')
message['From'] = Header("發(fā)件人", 'utf-8')
message['To'] = Header("收件人", 'utf-8')

# 郵件主題
subject = 'Python SMTP 郵件測試'
message['Subject'] = Header(subject, 'utf-8')

# 連接 SMTP 服務(wù)器并發(fā)送郵件
try:
    smtp_obj = smtplib.SMTP('smtp.example.com', 25)  # SMTP服務(wù)器地址和端口
    smtp_obj.login('your_email@example.com', 'your_password')  # 登錄SMTP服務(wù)器
    smtp_obj.sendmail(sender, receiver, message.as_string())  # 發(fā)送郵件
    print("郵件發(fā)送成功")
except smtplib.SMTPException as e:
    print("Error: 無法發(fā)送郵件", e)
finally:
    smtp_obj.quit()

代碼解釋

  • 導(dǎo)入模塊:首先導(dǎo)入 smtplib 和 email.mime.text 模塊。
  • 設(shè)置郵件發(fā)送方和接收方:定義發(fā)送方和接收方的郵箱地址。
  • 創(chuàng)建郵件內(nèi)容:使用 MIMEText 創(chuàng)建郵件內(nèi)容,并設(shè)置郵件的編碼格式。
  • 設(shè)置郵件頭部信息:使用 Header 設(shè)置郵件的發(fā)送者、接收者和主題。
  • 連接SMTP服務(wù)器:使用 smtplib.SMTP 連接到SMTP服務(wù)器,并使用 login 方法登錄。
  • 發(fā)送郵件:使用 sendmail 方法發(fā)送郵件。
  • 異常處理:使用 try-except 塊捕獲可能的異常。8. 關(guān)閉連接:使用 quit 方法關(guān)閉SMTP連接。

2. 使用yagmail庫發(fā)送郵件

yagmail 是一個簡化了 smtplib 和 email 庫使用的第三方庫,使得發(fā)送郵件更加方便。下面我們來看一個使用 yagmail 發(fā)送郵件的例子。

安裝yagmail:

pip install yagmail

示例代碼:

import yagmail

# 郵件發(fā)送方和接收方
sender = 'your_email@example.com'
receiver = 'recipient_email@example.com'

# 郵件內(nèi)容
subject = 'Python yagmail 郵件測試'
body = '這是一封使用 yagmail 發(fā)送的測試郵件'

# 創(chuàng)建 yagmail.SMTP 對象
yag = yagmail.SMTP(user=sender, password='your_password', host='smtp.example.com')

# 發(fā)送郵件
try:
    yag.send(to=receiver, subject=subject, contents=body)
    print("郵件發(fā)送成功")
except Exception as e:
    print("Error: 無法發(fā)送郵件", e)

代碼解釋:

  • 安裝yagmail:使用 pip install yagmail 安裝 yagmail 庫。
  • 導(dǎo)入yagmail:導(dǎo)入 yagmail 模塊。
  • 設(shè)置郵件發(fā)送方和接收方:定義發(fā)送方和接收方的郵箱地址。
  • 創(chuàng)建郵件內(nèi)容:定義郵件的主題和內(nèi)容。
  • 創(chuàng)建SMTP對象:使用 yagmail.SMTP 創(chuàng)建一個SMTP對象,并傳入發(fā)送方的郵箱地址、密碼和SMTP服務(wù)器地址。
  • 發(fā)送郵件:使用 send 方法發(fā)送郵件。
  • 異常處理:使用 try-except 塊捕獲可能的異常。

3. 使用email庫發(fā)送郵件

email 庫是 Python 標(biāo)準(zhǔn)庫中的一個模塊,用于構(gòu)建復(fù)雜的郵件內(nèi)容。結(jié)合 smtplib,可以發(fā)送包含附件、HTML 內(nèi)容等復(fù)雜郵件。下面是一個使用 email 庫發(fā)送帶附件的郵件的例子。

示例代碼:

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
from email import encoders

# 郵件發(fā)送方和接收方
sender = 'your_email@example.com'
receiver = 'recipient_email@example.com'

# 創(chuàng)建一個 MIMEMultipart 對象
msg = MIMEMultipart()

# 設(shè)置郵件頭部信息
msg['From'] = sender
msg['To'] = receiver
msg['Subject'] = 'Python email 庫郵件測試'

# 添加郵件正文
body = '這是一封使用 email 庫發(fā)送的測試郵件,包含附件'
msg.attach(MIMEText(body, 'plain'))

# 添加附件
filename = "example.txt"
attachment = open("path/to/example.txt", "rb")

part = MIMEBase('application', 'octet-stream')
part.set_payload(attachment.read())
encoders.encode_base64(part)
part.add_header('Content-Disposition', f'attachment; filename={filename}')
msg.attach(part)

# 連接 SMTP 服務(wù)器并發(fā)送郵件
try:
    smtp_obj = smtplib.SMTP('smtp.example.com', 25)
    smtp_obj.login(sender, 'your_password')
    smtp_obj.sendmail(sender, receiver, msg.as_string())
    print("郵件發(fā)送成功")
except smtplib.SMTPException as e:
    print("Error: 無法發(fā)送郵件", e)
finally:
    smtp_obj.quit()

代碼解釋:

  • 導(dǎo)入模塊:導(dǎo)入 smtplib 和 email 庫的相關(guān)模塊。
  • 設(shè)置郵件發(fā)送方和接收方:定義發(fā)送方和接收方的郵箱地址。
  • 創(chuàng)建MIMEMultipart對象:使用 MIMEMultipart 創(chuàng)建一個郵件對象。
  • 設(shè)置郵件頭部信息:設(shè)置郵件的發(fā)送者、接收者和主題。
  • 添加郵件正文:使用 MIMEText 創(chuàng)建郵件正文,并將其附加到郵件對象中。
  • 添加附件:打開附件文件,使用 MIMEBase 創(chuàng)建附件對象,設(shè)置附件內(nèi)容并進(jìn)行 base64 編碼,最后將附件附加到郵件對象中。
  • 連接SMTP服務(wù)器:使用 smtplib.SMTP 連接到SMTP服務(wù)器,并使用 login 方法登錄。
  • 發(fā)送郵件:使用 sendmail 方法發(fā)送郵件。
  • 異常處理:使用 try-except 塊捕獲可能的異常。
  • 關(guān)閉連接:使用 quit 方法關(guān)閉SMTP連接。

實(shí)戰(zhàn)案例:自動化發(fā)送每日天氣報告

假設(shè)我們需要每天自動發(fā)送一封包含當(dāng)日天氣報告的郵件給指定的收件人。我們可以結(jié)合 requests 庫獲取天氣數(shù)據(jù),并使用 smtplib 或 yagmail 發(fā)送郵件。

獲取天氣數(shù)據(jù):

import requests

def get_weather(city):
    url = f"http://api.weatherapi.com/v1/current.json?key=YOUR_API_KEY&q={city}"
    response = requests.get(url)
    data = response.json()
    return data['current']['temp_c'], data['current']['condition']['text']

temperature, condition = get_weather('New York')
print(f"當(dāng)前溫度: {temperature}°C, 天氣狀況: {condition}")

發(fā)送郵件:

import yagmail

def send_weather_report(email, city):
    temperature, condition = get_weather(city)
    body = f"親愛的用戶,\n\n這是您訂閱的每日天氣報告。\n\n城市: {city}\n當(dāng)前溫度: {temperature}°C\n天氣狀況: {condition}\n\n祝您一天愉快!"

    yag = yagmail.SMTP(user='your_email@example.com', password='your_password', host='smtp.example.com')
    try:
        yag.send(to=email, subject=f'{city} 每日天氣報告', contents=body)
        print("郵件發(fā)送成功")
    except Exception as e:
        print("Error: 無法發(fā)送郵件", e)

send_weather_report('recipient_email@example.com', 'New York')

代碼解釋:

  • 獲取天氣數(shù)據(jù):使用 requests 庫調(diào)用天氣 API 獲取指定城市的天氣數(shù)據(jù)。
  • 發(fā)送郵件:使用 yagmail 庫發(fā)送包含天氣報告的郵件。
  • 函數(shù)封裝:將獲取天氣數(shù)據(jù)和發(fā)送郵件的功能封裝成兩個函數(shù),便于調(diào)用和維護(hù)。

總結(jié)

今天我們學(xué)習(xí)了使用 Python 發(fā)送郵件的三種方法:smtplib 模塊、yagmail 庫和 email 庫。每種方法都有其特點(diǎn)和適用場景:

  • smtplib 模塊適合基礎(chǔ)的郵件發(fā)送需求,適用于簡單的文本郵件。
  • yagmail 庫簡化了郵件發(fā)送的過程,適合快速開發(fā)和調(diào)試。
  • email 庫結(jié)合 smtplib 可以發(fā)送復(fù)雜的郵件,如包含附件和 HTML 內(nèi)容的郵件。

通過實(shí)戰(zhàn)案例,我們還學(xué)會了如何結(jié)合第三方 API 自動化發(fā)送每日天氣報告。

責(zé)任編輯:趙寧寧 來源: 手把手PythonAI編程
相關(guān)推薦

2023-10-13 10:45:18

HTTP數(shù)據(jù)

2022-07-13 16:06:16

Python參數(shù)代碼

2009-07-08 12:56:32

編寫Servlet

2011-04-18 15:32:45

游戲測試測試方法軟件測試

2023-08-14 17:58:13

RequestHTTP請求

2010-09-14 15:10:49

CSS注釋

2009-12-11 18:49:39

預(yù)算編制博科資訊

2021-02-06 11:26:55

Python開發(fā)list

2022-04-28 07:26:17

PythonDocker容器

2009-06-23 10:45:18

Hibernate支持

2011-06-10 10:43:12

Ubuntu應(yīng)用安裝

2021-02-03 18:05:30

Python方法列表

2021-07-13 12:31:27

IT組織改進(jìn)首席技術(shù)官

2021-10-09 06:59:36

技術(shù)MyBatis數(shù)據(jù)

2016-09-09 13:07:56

CentOSJDKLinux

2021-12-20 07:11:26

Java List排序 Java 基礎(chǔ)

2009-07-23 15:17:54

JDBC連接Acces

2010-10-20 13:52:07

SQL Server數(shù)

2023-09-25 15:08:43

Python方離群值

2023-05-16 16:07:07

大數(shù)據(jù)數(shù)據(jù)管理工具
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

污网站免费观看| 日韩一区二区久久| 欧美三级午夜理伦三级小说| 高清一区二区三区| 欧美猛男男男激情videos| 国产99久久久久久免费看| 国产丝袜精品丝袜| 国产麻豆视频一区| 在线观看久久av| 亚洲综合欧美在线| 人人妻人人澡人人爽人人欧美一区 | 黄色片中文字幕| 日本一本不卡| 日韩欧美成人午夜| 亚洲精品乱码久久久久久自慰| 青青草免费观看免费视频在线| 国内精品久久久久影院薰衣草| 欧美精品www| 国产av自拍一区| av高清不卡| 中文字幕一区在线| 亚洲最大激情中文字幕| 亚洲欧美偷拍视频| 欧美成人日本| 亚洲一级黄色av| 中文字幕第10页| 日韩天堂在线| 婷婷夜色潮精品综合在线| 婷婷久久伊人| 人人妻人人澡人人爽精品日本| 日本欧美在线观看| 国语自产精品视频在线看| 亚洲一级黄色录像| 91亚洲无吗| 色94色欧美sute亚洲线路一久| 成人黄色片免费| 麻豆av电影在线观看| 成人午夜免费电影| 成人激情在线观看| 亚洲国产成人精品激情在线| 欧美岛国激情| 亚洲欧美日韩一区二区三区在线| 宇都宫紫苑在线播放| 精品乱码一区二区三区四区| 亚洲一卡二卡三卡四卡| 做爰高潮hd色即是空| 久草视频在线看| 成人爱爱电影网址| 97久久人人超碰caoprom欧美| 中文字幕一区二区三区免费看| 在线看片一区| 色综合色综合网色综合| 欧美色视频一区二区三区在线观看| 综合伊思人在钱三区| 亚洲第一区第一页| 免费高清视频在线观看| 亚洲精品视频一二三区| 日韩一区二区不卡| 精品国产乱码久久久久久1区二区| 色综合天天色| 欧美天堂一区二区三区| 欧美精品久久久久久久免费| www中文字幕在线观看| 一级中文字幕一区二区| 国产精品久久久影院| 3d玉蒲团在线观看| 一区二区三区鲁丝不卡| 免费日韩在线观看| 中文字幕有码在线观看| 亚洲精品第1页| 国产在线视频一区二区三区| 欧美极品少妇xxxxx| 国产黄色片在线| 国产麻豆视频在线观看| 久草视频免费在线播放| 婷婷亚洲成人| 日韩电影大片中文字幕| 最近中文字幕无免费| 极品尤物一区| 亚洲欧洲在线免费| 国产熟妇久久777777| 国际精品欧美精品| 中文字幕亚洲欧美日韩在线不卡| 国产一二三av| 欧美亚韩一区| 国产91精品视频在线观看| 9.1片黄在线观看| 青青国产在线| 天天综合91| 欧美午夜片在线看| 另类小说第一页| 成人国产精品久久| 欧美日韩mp4| 日本成人在线免费观看| 成人资源在线播放| 亚洲女同精品视频| 熟女av一区二区| 欧美成人嫩草网站| 55夜色66夜色国产精品视频| 亚洲av无码不卡| 久久97超碰国产精品超碰| 91传媒免费看| 日本在线视频1区| 欧美国产1区2区| 黑人巨大国产9丨视频| 国产精品69xx| 欧洲中文字幕精品| 91在线小视频| 国产精品一区二区三区在线观| 色欲av伊人久久大香线蕉影院| 久久众筹精品私拍模特| 日韩福利二区| 婷婷色在线资源| 一本一本大道香蕉久在线精品 | 亚洲精品视频在线观看网站| 日韩欧美不卡在线| 韩漫成人漫画| 欧美一区二区三区公司| 噜噜噜在线视频| 日韩在线综合| 日韩资源在线观看| av大片免费观看| 国产乱淫av一区二区三区| 久久资源亚洲| 一级毛片视频在线| 亚洲成av人片观看| 小明看看成人免费视频| 欧美a一欧美| 中文字幕亚洲欧美| 国产福利拍拍拍| 韩国欧美一区二区| 日韩一区二区三区高清| 182在线播放| 88在线观看91蜜桃国自产| 欧美bbbbb性bbbbb视频| 欧美.日韩.国产.一区.二区| 日本免费久久高清视频| 欧美 中文字幕| 一区二区在线免费观看| 日韩av卡一卡二| 日韩有码中文字幕在线| 欧美黄色免费网站| 99热这里只有精品99| 国产女人aaa级久久久级| 337p粉嫩大胆噜噜噜鲁| 成人激情自拍| 欧美日韩xxx| 国产片在线播放| 国产精品―色哟哟| 在线免费视频a| 精品人妻一区二区三区免费看 | 91在线免费网站| 国产乱理伦片a级在线观看| 亚洲成在人线免费| 乱码一区二区三区| 欧美激情综合| 96久久精品| 在线三级中文| 91精品国产高清一区二区三区| 狂野欧美性猛交| 免播放器亚洲| 欧美日韩日本网| 亚洲精品国产精品国产| 亚洲欧美国产日韩天堂区| 国产a免费视频| 国产999精品久久| 亚洲爆乳无码精品aaa片蜜桃| 国产精品亚洲一区二区在线观看| 久久久精品在线| 国产精品系列视频| 亚洲欧美国产77777| 午夜诱惑痒痒网| 欧美极品一区二区三区| 国产经典一区二区三区| 91美女精品| 亚洲色图15p| 中文永久免费观看| 亚洲欧洲色图综合| 色欲无码人妻久久精品| 欧美午夜精品| 久久99精品久久久久久水蜜桃| 免费观看一级欧美片| 亚洲欧洲午夜一线一品| 中文字幕 国产| 亚洲欧美一区二区三区孕妇| 少妇极品熟妇人妻无码| 日韩视频一区| 图片区小说区区亚洲五月| 免费一级欧美在线观看视频| 欧美成人在线影院| 网站黄在线观看| 欧美影院一区二区三区| 中文字幕av久久爽av| 91在线高清观看| 任你操这里只有精品| 国产精品久久占久久| 91色琪琪电影亚洲精品久久| av色在线观看| 在线播放国产一区中文字幕剧情欧美 | 国产特黄一级片| 中文字幕人成不卡一区| 特级特黄刘亦菲aaa级| 亚洲性视频h| 日韩欧美精品一区二区| 日本免费一区二区视频| 青草成人免费视频| 黄网页免费在线观看| 亚洲国产日韩精品在线| 中文字幕资源网| 亚洲一区在线电影| 亚洲高潮女人毛茸茸| 成人深夜在线观看| 日本在线观看免费视频| 一区在线视频| 亚洲精品9999| 欧美wwwwww| 91亚洲va在线va天堂va国| 欧美亚洲日本精品| 久久国产精品久久国产精品| 青青青草原在线| 欧美久久久一区| 综合网在线观看| 亚洲一区自拍偷拍| 在线观看日本黄色| 91性感美女视频| 亚洲黄色小说在线观看| 免费在线观看精品| 欧美成人一区二区在线观看| 99久久综合| 欧美xxxx黑人又粗又长密月| 91精品国产乱码久久久竹菊| 国产精品精品国产| 91av久久| 久久99精品视频一区97| 日韩子在线观看| 亚洲丝袜在线视频| 国产成人自拍一区| 91精品国产综合久久久蜜臀粉嫩| 91玉足脚交嫩脚丫在线播放| 亚洲一级二级在线| 欧美俄罗斯性视频| 邻家有女韩剧在线观看国语| 亚洲国产成人爱av在线播放| 亚洲乱色熟女一区二区三区| 精品伊人久久| 97视频免费看| 日韩va在线观看| 日av在线不卡| 日本 片 成人 在线| 蜜桃精品视频在线| 在线观看岛国av| 九色porny丨国产精品| 国产一伦一伦一伦| 久久成人麻豆午夜电影| 国产精品嫩草影院8vv8| 国产原创一区二区三区| 红桃视频一区二区三区免费| 国产成人av一区二区三区在线观看| 青青草精品在线| 波多野结衣亚洲一区| 在线观看国产三级| 久久久www成人免费无遮挡大片| 色欲AV无码精品一区二区久久| 国产精品免费视频一区| a在线视频播放观看免费观看| 一区二区三区欧美亚洲| 香蕉视频一区二区| 一本到三区不卡视频| 中文字幕一区二区三区四区免费看| 欧美人体做爰大胆视频| 亚洲成人77777| 精品视频在线播放免| 在线视频二区| 久99久在线视频| 涩涩视频在线| 国产精品主播视频| 激情视频亚洲| 鲁丝片一区二区三区| 久久在线免费| 2018日日夜夜| 免费不卡在线视频| www.欧美com| 久久精品欧美一区二区三区不卡| 疯狂撞击丝袜人妻| 五月天激情综合| 91久久久久久久久久久久| 精品少妇一区二区三区免费观看| 麻豆av电影在线观看| 久久婷婷国产麻豆91天堂| 国产拍在线视频| 成人黄色大片在线免费观看| 乱中年女人伦av一区二区| 亚洲精品欧洲精品| 免费在线看v| 亚洲天堂成人在线| 永久免费网站在线| 国产999精品久久久| 日韩精品一区二区三区中文字幕| 蜜桃网站成人| 欧美aa国产视频| 国内外免费激情视频| 咪咪网在线视频| 国产欧美日韩91| 久久中文资源| 中国黄色录像片| 视频在线观看一区| 超碰caoprom| 亚洲精品日产精品乱码不卡| 久久久久久久亚洲| 亚洲福利影片在线| 国产福利在线播放麻豆| 国产成人精品电影| 懂色av一区二区| 五月天综合婷婷| 日本欧美一区二区| 18禁裸乳无遮挡啪啪无码免费| 一区二区在线免费观看| 中文字幕+乱码+中文| 精品视频在线观看日韩| 美女网站视频在线| 91网站在线免费观看| 日韩一区三区| 五月天婷婷激情视频| 99re这里只有精品首页| 国产真实夫妇交换视频| 日韩三级在线观看| 老司机av在线免费看| 国产精品香蕉av| 第一会所亚洲原创| 看欧美ab黄色大片视频免费 | 亚洲黄色大片| 香蕉视频免费网站| 亚洲综合丝袜美腿| 精品国自产在线观看| 伦理中文字幕亚洲| 999精品嫩草久久久久久99| 亚洲欧美日韩另类精品一区二区三区 | 国产一级片在线| 欧美尤物巨大精品爽| 色橹橹欧美在线观看视频高清| 国产人妻777人伦精品hd| 成人午夜电影久久影院| 日本免费一二三区| 精品剧情在线观看| 俄罗斯一级**毛片在线播放| av在线不卡观看| 亚洲AV无码乱码国产精品牛牛 | 国产精品第一区| 在线免费成人| 日韩欧美一区中文| 成人午夜影视| 国产精品美女www爽爽爽视频| 欧美日韩国产在线观看网站 | 亚洲最新在线| 精品在线播放免费| 91视频综合网| 精品国产乱码久久久久久老虎| 青草在线视频| 精品午夜一区二区| 久久久久国内| 任你操精品视频| 日韩一区二区三区在线观看| av男人的天堂在线观看| 麻豆亚洲一区| 麻豆成人av在线| 黑鬼狂亚洲人videos| 精品av久久707| 国产精品av一区二区三区 | 国色天香一区二区| 水蜜桃av无码| 欧美在线制服丝袜| 激情成人四房播| 国产美女精品在线观看| 免费在线欧美黄色| 亚洲精品天堂网| 精品女同一区二区| 26uuu亚洲电影| 亚洲人成77777| 国产电影一区二区三区| 91精品国产乱码久久久张津瑜| 亚洲午夜色婷婷在线| 中文成人在线| 免费欧美一级视频| 国产精品久久看| 视频一区 中文字幕| 国产精品嫩草影院久久久| 激情综合中文娱乐网| 欧美人妻一区二区三区| 欧美成人一区二区三区片免费| 久久uomeier| 激情五月六月婷婷| 国产欧美日韩在线| www.蜜臀av| 国产精品久久久久久久一区探花| 欧美不卡高清| 99在线视频免费| 亚洲第一网站男人都懂| a成人v在线| av动漫在线看| 伊人婷婷欧美激情|