吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何用python發(fā)送接收郵件

sanyue7758 ? 來(lái)源:處芯積律 ? 2023-07-11 09:30 ? 次閱讀

SMTP(Simple Mail Transfer Protocol)即簡(jiǎn)單郵件傳輸協(xié)議,它是一組用于由源地址到目的地址傳送郵件的規(guī)則,由它來(lái)控制信件的中轉(zhuǎn)方式。

Python發(fā)送郵件比較簡(jiǎn)單,掌握兩個(gè)自帶庫(kù) smtplib、email 即可,smtplib 負(fù)責(zé)發(fā)送郵件,email 負(fù)責(zé)構(gòu)造郵件(郵件內(nèi)容,主題,收件人,抄送人等)。

python的smtplib提供了一種很方便的途徑發(fā)送電子郵件。它對(duì)smtp協(xié)議進(jìn)行了簡(jiǎn)單的封裝。

MIMEText用于電子郵件正文

MIMEMultipart用于電子郵件結(jié)構(gòu)

MIMEApplication用于在電子郵件中添加二進(jìn)制數(shù)據(jù)(如文件附件)

MIMEImage用于圖片

importsmtplib
fromemail.mime.imageimportMIMEImage
fromemail.mime.textimportMIMEText
fromemail.headerimportHeader
fromemail.mime.multipartimportMIMEMultipart
fromemail.mime.applicationimportMIMEApplication

1.發(fā)送郵件(可帶附件)

下面是一個(gè)使用Python中的smtplib庫(kù)發(fā)送電子郵件的示例代碼。

importsmtplib
fromemail.mime.textimportMIMEText
fromemail.mime.multipartimportMIMEMultipart
fromemail.mime.applicationimportMIMEApplication

#設(shè)置發(fā)送郵件的信息
sender_email='xxx@qq.com'#發(fā)件人郵箱賬號(hào)
sender_password='xxx'#發(fā)件人郵箱授權(quán)碼
receiver_email='xxx@qq.com'#收件人郵箱賬號(hào)
subject='Thisisatestemailby數(shù)字ICer'#郵件的主題

smtp_server='smtp.qq.com'#qq郵箱的SMTP服務(wù)器
smtp_port=465#qq郵箱的SMTP服務(wù)器端口465

defsend_email():
ret=True
try:
#創(chuàng)建一個(gè)multipart的郵件對(duì)象
msg=MIMEMultipart()
msg['From']=sender_email
msg['To']=receiver_email
msg['Subject']=subject

#添加郵件正文
body='Hello,thisisatestemail.'
msg.attach(MIMEText(body,'plain'))

#添加附件
#filename='attachment.pdf'
#withopen(filename,'rb')asf:
#attachment=MIMEApplication(f.read(),_subtype='pdf')
#attachment.add_header('Content-Disposition','attachment',filename=filename)
#msg.attach(attachment)
#
#發(fā)送郵件
withsmtplib.SMTP_SSL(smtp_server,smtp_port)assmtp:
smtp.login(sender_email,sender_password)
smtp.sendmail(sender_email,receiver_email,msg.as_string())
print("郵件發(fā)送成功")
exceptExceptionase:
print("郵件發(fā)送失敗:",e)
send_email()

上面使用QQ郵箱帳戶發(fā)送郵件,也可以使用其他郵箱,需要定義郵箱的SMTP服務(wù)器和端口。

對(duì)于QQ郵箱,SMTP服務(wù)器是smtp.qq.com,SMTP端口是465。

生成授權(quán)碼

郵箱設(shè)置-->賬戶

設(shè)置POP3/IMAP/SMTP服務(wù)中

點(diǎn)擊生成授權(quán)碼,sender_password = 'xxx' 即為授權(quán)碼,并不是你的qq郵箱密碼;

074291de-1f28-11ee-962d-dac502259ad0.png授權(quán)碼

定義發(fā)件人電子郵件地址、授權(quán)碼和收件人電子郵件地址。

使用MIMEMultipart()創(chuàng)建一個(gè)多部分消息。使用msg['From']、msg['To']和msg['Subject']向消息添加發(fā)件人、收件人和主題。

使用MIMEText(body, 'plain')向消息添加郵件正文。

使用MIMEApplication()向消息添加附件。

其中 MIMEText 構(gòu)造對(duì)象時(shí),第一個(gè)參數(shù)是郵件正文;第二個(gè)參數(shù)是subType,可以設(shè)置兩種格式 'plain' 和 'html';‘plain’ 表示發(fā)送純文本消息。

07617dec-1f28-11ee-962d-dac502259ad0.png發(fā)送郵件(可帶附件)

2.發(fā)送HTML格式的郵件

下面是發(fā)送HTML格式電子郵件的示例代碼。

importsmtplib
fromemail.mime.textimportMIMEText
fromemail.headerimportHeader
fromemail.mime.multipartimportMIMEMultipart
fromemail.mime.applicationimportMIMEApplication


sender_email='xxx@qq.com'#發(fā)件人郵箱賬號(hào)
sender_password='xxx'#發(fā)件人郵箱授權(quán)碼
receiver_email='xxx@qq.com'#收件人郵箱賬號(hào)
subject='Thisisatestemailby數(shù)字ICer'#郵件的主題
smtp_server='smtp.qq.com'#qq郵箱的SMTP服務(wù)器
smtp_port=465#qq郵箱的SMTP服務(wù)器端口465

mail_msg="""

Python郵件發(fā)送測(cè)試...

這是一個(gè)鏈接

""" msg=MIMEText(mail_msg,'html','utf-8') msg['From']=Header("sender_email",'utf-8') msg['To']=Header("receiver_email",'utf-8') msg['Subject']=Header(subject,'utf-8') try: withsmtplib.SMTP_SSL(smtp_server,smtp_port)assmtp: smtp.login(sender_email,sender_password) smtp.sendmail(sender_email,receiver_email,msg.as_string()) print("郵件發(fā)送成功") exceptsmtplib.SMTPException: print("Error:無(wú)法發(fā)送郵件")

email.header是Python標(biāo)準(zhǔn)庫(kù)中的一個(gè)模塊,Header類是一個(gè)用于處理電子郵件頭部的工具,它可以處理中文等非ASCII字符集,確保電子郵件頭部可以正確顯示和解析。

當(dāng)在電子郵件頭部中使用中文或其他非ASCII字符時(shí),需要對(duì)這些字符進(jìn)行編碼,以確保電子郵件頭部可以被正確地顯示和解析。Header類可以將這些非ASCII字符編碼為合適的格式。

07880336-1f28-11ee-962d-dac502259ad0.png

發(fā)送HTML格式的郵件






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • SMTP
    +關(guān)注

    關(guān)注

    0

    文章

    32

    瀏覽量

    11971
  • HTML
    +關(guān)注

    關(guān)注

    0

    文章

    278

    瀏覽量

    36546
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4807

    瀏覽量

    85040

原文標(biāo)題:如何用python發(fā)送接收郵件

文章出處:【微信號(hào):處芯積律,微信公眾號(hào):處芯積律】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    在Java中如何使用API來(lái)完成郵件接收發(fā)送

    接收發(fā)送。 通過(guò)該篇文章我們可以有如下收獲: 了解基于Java的電子郵件客戶端的實(shí)現(xiàn)方式 了解常見(jiàn)的郵箱如何集成 認(rèn)識(shí)郵箱中的IMAP與POP協(xié)議 適用場(chǎng)景 郵件和短信很像,將信息
    的頭像 發(fā)表于 09-30 14:09 ?3545次閱讀
    在Java中如何使用API來(lái)完成<b class='flag-5'>郵件</b>的<b class='flag-5'>接收</b>與<b class='flag-5'>發(fā)送</b>

    何用LabVIEW接收E-mail?

    我用的是LabVIEW2012 。想做個(gè)發(fā)送接收電子郵件的程序。查看了網(wǎng)上的資料,沒(méi)有收獲。求教各位大哥了!如何用LabVIEW接收E-m
    發(fā)表于 04-14 20:29

    Labview發(fā)送notes郵件

    請(qǐng)前輩點(diǎn)撥如何用labview發(fā)送notes郵件,公司用這個(gè)郵件系統(tǒng),但是通過(guò)用例的方式是無(wú)法發(fā)出郵件的,求教
    發(fā)表于 07-21 09:43

    何用Python Ginkgo USB-CAN發(fā)送接收數(shù)據(jù)

    :Ginkgo USB-CAN Extend軟件對(duì)于第2項(xiàng)(開(kāi)源python項(xiàng)目):Python CAN數(shù)據(jù)發(fā)送接收PC:兩臺(tái)PC(PC1,PC2)程序:1.確保在兩臺(tái)PC上都正確安
    發(fā)表于 03-12 10:32

    何用python中的serial向串口發(fā)送接收數(shù)據(jù)?

    何用python中的serial向串口發(fā)送接收數(shù)據(jù)?
    發(fā)表于 11-22 06:35

    何用Foxmail Server搭建郵件服務(wù)器

    何用Foxmail Server搭建郵件服務(wù)器 Foxmail Server(以下簡(jiǎn)稱FMS)可以搭建出功能強(qiáng)大的郵件服務(wù)器。本文以FMS For Windows 2.0為例,從其設(shè)置、管理、收
    發(fā)表于 01-27 17:05 ?1353次閱讀

    C#教程之調(diào)用Outlook發(fā)送郵件

    C#教程之調(diào)用Outlook發(fā)送郵件,很好的C#資料,快來(lái)學(xué)習(xí)吧。
    發(fā)表于 04-20 15:27 ?4次下載

    如何向您選擇的某人發(fā)送電子郵件

    您可以通過(guò)單擊左側(cè)的“發(fā)送”選項(xiàng)卡來(lái)確認(rèn)您的電子郵件是否已發(fā)送。它將顯示您發(fā)送的所有電子郵件。如果未顯示最近
    的頭像 發(fā)表于 12-13 16:35 ?5077次閱讀
    如何向您選擇的某人<b class='flag-5'>發(fā)送電子郵件</b>

    基于SpringBoot實(shí)現(xiàn)郵件發(fā)送

    本項(xiàng)目通過(guò)Springboot發(fā)送email郵件,包括普通文本郵件 、HTML內(nèi)容板式郵件 、包含靜態(tài)資源郵件以及帶附件
    的頭像 發(fā)表于 02-28 14:58 ?1320次閱讀
    基于SpringBoot實(shí)現(xiàn)<b class='flag-5'>郵件</b><b class='flag-5'>發(fā)送</b>

    何用python發(fā)郵件呢?

    先做一些準(zhǔn)備,把郵件SMTP服務(wù)器、收發(fā)mail、郵件標(biāo)題和正文準(zhǔn)備好。
    的頭像 發(fā)表于 03-06 14:49 ?808次閱讀

    怎么用Python構(gòu)建一個(gè)自動(dòng)發(fā)送郵件的腳本

    ? 類似的應(yīng)用場(chǎng)景還有很多,不僅僅是在股票策略提醒上,比如定時(shí)向某些人發(fā)送郵件;網(wǎng)站宕機(jī)了,實(shí)時(shí)發(fā)送郵件提醒;網(wǎng)站負(fù)載過(guò)高,發(fā)送
    的頭像 發(fā)表于 10-21 14:47 ?807次閱讀
    怎么用<b class='flag-5'>Python</b>構(gòu)建一個(gè)自動(dòng)<b class='flag-5'>發(fā)送</b><b class='flag-5'>郵件</b>的腳本

    怎么用Python構(gòu)建一個(gè)自動(dòng)發(fā)送郵件的腳本

    呢? 類似的應(yīng)用場(chǎng)景還有很多,不僅僅是在股票策略提醒上,比如定時(shí)向某些人發(fā)送郵件;網(wǎng)站宕機(jī)了,實(shí)時(shí)發(fā)送郵件提醒;網(wǎng)站負(fù)載過(guò)高,發(fā)送
    的頭像 發(fā)表于 10-31 16:36 ?590次閱讀
    怎么用<b class='flag-5'>Python</b>構(gòu)建一個(gè)自動(dòng)<b class='flag-5'>發(fā)送</b><b class='flag-5'>郵件</b>的腳本

    何用Python批量定制化發(fā)送郵件

    一封精美的元旦祝福郵件,但是郵件的內(nèi)容——比如姓名、祝福語(yǔ)等應(yīng)該怎樣動(dòng)態(tài)渲染呢?答案是jinja2. jinja2 是一個(gè)Python 的模板引擎,使用jinja2,我們能夠在郵件HT
    的頭像 發(fā)表于 11-01 11:32 ?2635次閱讀

    利用Python發(fā)送郵件的 3 種方式

    1. 前言 郵件,作為最正式規(guī)范的溝通方式,在日常辦公過(guò)程中經(jīng)常被用到 我們都知道 Python內(nèi)置了對(duì) SMTP 的支持,可以發(fā)送純文本、富文本、HTML 等格式的郵件 本文將聊聊利
    的頭像 發(fā)表于 11-02 11:37 ?1018次閱讀

    如何使用Python編寫(xiě)腳本來(lái)自動(dòng)發(fā)送郵件

    Python是一種非常流行的編程語(yǔ)言,可以用于多種用途,包括自動(dòng)化任務(wù)。其中一個(gè)常見(jiàn)的自動(dòng)化任務(wù)是自動(dòng)發(fā)送郵件。在本文中,我們將介紹如何使用Python編寫(xiě)腳本來(lái)自動(dòng)
    的頭像 發(fā)表于 12-07 11:36 ?1426次閱讀
    百家乐官网赢钱好公式| 百家乐设备电子路| 皇冠网 全讯通| 澳门百家乐心理| 大发888最新官方网址| 百家乐官网大娱乐场开户注册| 大发888官网授权网| 百家乐官网博百家乐官网的玩法技巧和规则| 大发888真坑阿| 互博百家乐现金网| 百家乐官网开发公司| 欢乐谷百家乐的玩法技巧和规则 | 黄金会百家乐官网赌城| 顶级赌场手机版官方| 宾利百家乐现金网| 昆明百家乐官网装修装潢有限公司| 威尼斯人娱乐城怎么赢| 百家乐官网3式打法微笑心法| 永登县| 鑫鼎百家乐的玩法技巧和规则| 百家乐官网保单机解码| 云顶国际娱乐开户| 玩百家乐新澳门娱乐城| 百家乐官网连长| 新葡京娱乐城开户| 百家乐官网有没有破解之法| 澳门赌场老板| 缅甸百家乐赌场娱乐网规则| 一筒百家乐官网的玩法技巧和规则 | 百家乐官网免费注册| 启东市| 威尼斯人娱乐城网上赌博| 旅百家乐官网赢钱律| 百家乐官网怎样算大小| 大发888 大发888游戏平台| 百家乐的保单打法| 澳门百家乐官网实战| 最新六合彩开奖结果| 百家乐赌场技巧网| 缅甸百家乐官网赌博现场下载| 豪门国际娱乐|