懶人必備Python代碼之自動(dòng)發(fā)送郵件
痛點(diǎn)
在傳統(tǒng)的工作中,發(fā)送會(huì)議紀(jì)要是一個(gè)比較繁瑣的任務(wù),需要手動(dòng)輸入郵件內(nèi)容、收件人、抄送人等信息,每次發(fā)送都需要重復(fù)操作,不僅費(fèi)時(shí)費(fèi)力,而且容易出現(xiàn)疏漏和錯(cuò)誤。
但是,有了這個(gè)程序,員工們就可以輕松地將發(fā)送會(huì)議紀(jì)要的任務(wù)交給計(jì)算機(jī)來完成。程序可以自動(dòng)讀取當(dāng)天的日期,作為郵件標(biāo)題,收件人和抄送人也可以事先設(shè)定好,不需要每次手動(dòng)輸入。通過簡單地填寫郵件正文和附件,員工們就可以一鍵發(fā)送會(huì)議紀(jì)要,大大提高了工作效率和準(zhǔn)確性。
因此,這個(gè)程序可以讓員工解脫出來,將更多的時(shí)間和精力投入到其他更加重要的工作中,提升工作效率和工作質(zhì)量,為企業(yè)發(fā)展做出更大的貢獻(xiàn)。
應(yīng)用場景
會(huì)議紀(jì)要自動(dòng)發(fā)送:對于每周例會(huì)或者每月匯報(bào)會(huì)議等重要會(huì)議,通常需要發(fā)送會(huì)議紀(jì)要給參會(huì)人員和相關(guān)部門,這個(gè)程序可以自動(dòng)發(fā)送會(huì)議紀(jì)要,減少手動(dòng)操作的時(shí)間和錯(cuò)誤,提高工作效率。
招投標(biāo)文件發(fā)送:在企業(yè)進(jìn)行招投標(biāo)時(shí),需要將招標(biāo)文件發(fā)送給潛在的投標(biāo)人,這個(gè)程序可以自動(dòng)發(fā)送招標(biāo)文件,避免手動(dòng)輸入郵件地址和郵件內(nèi)容的繁瑣操作,提高投標(biāo)工作的效率。
活動(dòng)邀請函發(fā)送:對于企業(yè)的各種活動(dòng),如產(chǎn)品發(fā)布會(huì)、客戶慶祝會(huì)等,需要發(fā)送邀請函給參加者,這個(gè)程序可以自動(dòng)發(fā)送邀請函,減少重復(fù)的手動(dòng)操作和錯(cuò)誤,提高工作效率。
項(xiàng)目進(jìn)度匯報(bào)發(fā)送:對于項(xiàng)目管理人員,需要定期向管理層和項(xiàng)目組成員發(fā)送項(xiàng)目進(jìn)度匯報(bào),這個(gè)程序可以自動(dòng)發(fā)送項(xiàng)目進(jìn)度匯報(bào),節(jié)約時(shí)間和精力,提高項(xiàng)目管理效率。
總之,這個(gè)程序可以應(yīng)用于很多需要發(fā)送郵件的場景,無論是企業(yè)內(nèi)部的還是與外部的交流溝通,都可以通過這個(gè)程序來提高工作效率。
源代碼
import wx
import datetime
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication
class MyFrame(wx.Frame):
def __init__(self):
wx.Frame.**init**(self, None, title="發(fā)送郵件", size=(400, 300))
panel = wx.Panel(self)
# 創(chuàng)建控件
self.title = wx.StaticText(panel, label="郵件標(biāo)題:", pos=(20, 20))
self.title_input = wx.TextCtrl(panel, pos=(100, 20), size=(250, -1))
self.memo = wx.StaticText(panel, label="郵件正文:", pos=(20, 60))
self.memo_input = wx.TextCtrl(panel, style=wx.TE_MULTILINE, pos=(100, 60), size=(250, 100))
self.send_button = wx.Button(panel, label="發(fā)送", pos=(150, 200), size=(80, -1))
# 設(shè)置默認(rèn)值
today = datetime.date.today().strftime("%Y-%m-%d")
self.title_input.SetValue(today + "會(huì)議紀(jì)要")
#顯示對齊的多行文本
self.memo_input.SetValue("大家好:附件中是今天的會(huì)議紀(jì)要")
# 綁定事件
self.send_button.Bind(wx.EVT_BUTTON, self.on_send)
def on_send(self, event):
# 獲取郵件信息
title = self.title_input.GetValue()
memo = self.memo_input.GetValue()
# 設(shè)置郵件內(nèi)容
message = MIMEMultipart()
message['From'] = "skruggswzq@zusmail.com"
message['To'] = "lgalperinpyf@zusmail.com,mtarasciovgz@zusmail.com,sharvestkxw@zusmail.com,ebazinetbto@zusmail.com,spatryjpn@zusmail.com,dsittnerxko@zusmail.com,tbrassilqoy@zusmail.com,ihartgravesvmt@zusmail.com"
message['Cc'] = "greihlingmjo@zusmail.com"
message['Subject'] = title
message.attach(MIMEText(memo))
# 添加附件
filepath = "D:\\\\每周例會(huì)紀(jì)要.xlsx"
with open(filepath, "rb") as f:
attachment = MIMEApplication(f.read(), _subtype="xlsx")
attachment.add_header('Content-Disposition', 'attachment', filename=filepath.split("\\\\")[-1])
message.attach(attachment)
# 發(fā)送郵件
smtp = smtplib.SMTP()
smtp.connect("smtp.exmail.qq.com")
smtp.login("skruggswzq@zusmail.com", "password") # 請?zhí)鎿Q為您的郵箱密碼
smtp.sendmail("skruggswzq@zusmail.com", message['To'].split(",") + message['Cc'].split(","), message.as_string())
smtp.quit()
# 提示發(fā)送成功
wx.MessageBox("郵件發(fā)送成功!", "提示")
app = wx.App()
frame = MyFrame()
frame.Show()
app.MainLoop()代碼說明
段代碼是一個(gè) Python 程序,使用 wxPython 模塊創(chuàng)建了一個(gè) GUI 界面,其中包含了郵件標(biāo)題、正文和發(fā)送按鈕等控件。當(dāng)用戶點(diǎn)擊發(fā)送按鈕時(shí),程序會(huì)自動(dòng)將郵件發(fā)送給指定的收件人,并彈出一個(gè)提示框提示用戶發(fā)送成功。
以下是代碼的大致流程:
導(dǎo)入所需的 Python 模塊,包括 wxPython、datetime、smtplib、MIMEText、MIMEMultipart 和 MIMEApplication 等模塊。
創(chuàng)建一個(gè) MyFrame 類,繼承自 wx.Frame,用于創(chuàng)建 GUI 界面。
在 MyFrame 類中創(chuàng)建郵件標(biāo)題、正文和發(fā)送按鈕等控件,并設(shè)置默認(rèn)值和綁定事件。
當(dāng)用戶點(diǎn)擊發(fā)送按鈕時(shí),程序會(huì)調(diào)用 on_send() 方法,獲取郵件標(biāo)題和正文等信息,然后將郵件內(nèi)容封裝成 MIMEMultipart 對象。
程序會(huì)讀取指定的附件文件,并將附件添加到郵件中。
程序會(huì)連接指定的 SMTP 服務(wù)器,并使用指定的郵箱賬號和密碼進(jìn)行登錄。
程序會(huì)調(diào)用 SMTP 對象的 sendmail() 方法將郵件發(fā)送給指定的收件人。
發(fā)送成功后,程序會(huì)彈出一個(gè)提示框,提示用戶發(fā)送成功。
最后,程序進(jìn)入主循環(huán),等待用戶操作界面。
需要注意的是,程序中的一些字符串(如郵箱地址、SMTP 服務(wù)器地址、附件路徑等)都是需要根據(jù)實(shí)際情況進(jìn)行替換的。另外,這段代碼并沒有提供完整的異常處理,實(shí)際使用時(shí)需要根據(jù)實(shí)際情況進(jìn)行修改。
效果如下所示

到此這篇關(guān)于懶人必備Python代碼之自動(dòng)發(fā)送郵件的文章就介紹到這了,更多相關(guān)Python自動(dòng)發(fā)送郵件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
小白學(xué)Python之實(shí)現(xiàn)OCR識(shí)別
將圖片翻譯成文字一般被稱為光學(xué)文字識(shí)別(Optical Character Recognition,OCR),這篇文章主要給大家介紹了關(guān)于Python實(shí)現(xiàn)OCR識(shí)別的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2021-08-08
python實(shí)現(xiàn)k均值算法示例(k均值聚類算法)
這篇文章主要介紹了python實(shí)現(xiàn)k均值算法示例,簡單實(shí)現(xiàn)平面的點(diǎn)K均值分析,使用歐幾里得距離,并用pylab展示,需要的朋友可以參考下2014-03-03
python實(shí)現(xiàn)七段數(shù)碼管和倒計(jì)時(shí)效果
今天小編就為大家分享一篇python實(shí)現(xiàn)七段數(shù)碼管和倒計(jì)時(shí)效果,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11
Python基本類型的連接組合和互相轉(zhuǎn)換方式(13種)
這篇文章主要介紹了Python中基本類型的連接組合和互相轉(zhuǎn)換13種方式,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12
python 畫3維軌跡圖并進(jìn)行比較的實(shí)例
今天小編就為大家分享一篇python 畫3維軌跡圖并進(jìn)行比較的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12

