懶人必備Python代碼之自動發(fā)送郵件
痛點(diǎn)
在傳統(tǒng)的工作中,發(fā)送會議紀(jì)要是一個比較繁瑣的任務(wù),需要手動輸入郵件內(nèi)容、收件人、抄送人等信息,每次發(fā)送都需要重復(fù)操作,不僅費(fèi)時費(fèi)力,而且容易出現(xiàn)疏漏和錯誤。
但是,有了這個程序,員工們就可以輕松地將發(fā)送會議紀(jì)要的任務(wù)交給計算機(jī)來完成。程序可以自動讀取當(dāng)天的日期,作為郵件標(biāo)題,收件人和抄送人也可以事先設(shè)定好,不需要每次手動輸入。通過簡單地填寫郵件正文和附件,員工們就可以一鍵發(fā)送會議紀(jì)要,大大提高了工作效率和準(zhǔn)確性。
因此,這個程序可以讓員工解脫出來,將更多的時間和精力投入到其他更加重要的工作中,提升工作效率和工作質(zhì)量,為企業(yè)發(fā)展做出更大的貢獻(xiàn)。
應(yīng)用場景
會議紀(jì)要自動發(fā)送:對于每周例會或者每月匯報會議等重要會議,通常需要發(fā)送會議紀(jì)要給參會人員和相關(guān)部門,這個程序可以自動發(fā)送會議紀(jì)要,減少手動操作的時間和錯誤,提高工作效率。
招投標(biāo)文件發(fā)送:在企業(yè)進(jìn)行招投標(biāo)時,需要將招標(biāo)文件發(fā)送給潛在的投標(biāo)人,這個程序可以自動發(fā)送招標(biāo)文件,避免手動輸入郵件地址和郵件內(nèi)容的繁瑣操作,提高投標(biāo)工作的效率。
活動邀請函發(fā)送:對于企業(yè)的各種活動,如產(chǎn)品發(fā)布會、客戶慶祝會等,需要發(fā)送邀請函給參加者,這個程序可以自動發(fā)送邀請函,減少重復(fù)的手動操作和錯誤,提高工作效率。
項目進(jìn)度匯報發(fā)送:對于項目管理人員,需要定期向管理層和項目組成員發(fā)送項目進(jìn)度匯報,這個程序可以自動發(fā)送項目進(jìn)度匯報,節(jié)約時間和精力,提高項目管理效率。
總之,這個程序可以應(yīng)用于很多需要發(fā)送郵件的場景,無論是企業(yè)內(nèi)部的還是與外部的交流溝通,都可以通過這個程序來提高工作效率。
源代碼
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 + "會議紀(jì)要") #顯示對齊的多行文本 self.memo_input.SetValue("大家好:附件中是今天的會議紀(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:\\\\每周例會紀(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()
代碼說明
段代碼是一個 Python 程序,使用 wxPython 模塊創(chuàng)建了一個 GUI 界面,其中包含了郵件標(biāo)題、正文和發(fā)送按鈕等控件。當(dāng)用戶點(diǎn)擊發(fā)送按鈕時,程序會自動將郵件發(fā)送給指定的收件人,并彈出一個提示框提示用戶發(fā)送成功。
以下是代碼的大致流程:
導(dǎo)入所需的 Python 模塊,包括 wxPython、datetime、smtplib、MIMEText、MIMEMultipart 和 MIMEApplication 等模塊。
創(chuàng)建一個 MyFrame 類,繼承自 wx.Frame,用于創(chuàng)建 GUI 界面。
在 MyFrame 類中創(chuàng)建郵件標(biāo)題、正文和發(fā)送按鈕等控件,并設(shè)置默認(rèn)值和綁定事件。
當(dāng)用戶點(diǎn)擊發(fā)送按鈕時,程序會調(diào)用 on_send() 方法,獲取郵件標(biāo)題和正文等信息,然后將郵件內(nèi)容封裝成 MIMEMultipart 對象。
程序會讀取指定的附件文件,并將附件添加到郵件中。
程序會連接指定的 SMTP 服務(wù)器,并使用指定的郵箱賬號和密碼進(jìn)行登錄。
程序會調(diào)用 SMTP 對象的 sendmail() 方法將郵件發(fā)送給指定的收件人。
發(fā)送成功后,程序會彈出一個提示框,提示用戶發(fā)送成功。
最后,程序進(jìn)入主循環(huán),等待用戶操作界面。
需要注意的是,程序中的一些字符串(如郵箱地址、SMTP 服務(wù)器地址、附件路徑等)都是需要根據(jù)實際情況進(jìn)行替換的。另外,這段代碼并沒有提供完整的異常處理,實際使用時需要根據(jù)實際情況進(jìn)行修改。
效果如下所示
到此這篇關(guān)于懶人必備Python代碼之自動發(fā)送郵件的文章就介紹到這了,更多相關(guān)Python自動發(fā)送郵件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python實現(xiàn)k均值算法示例(k均值聚類算法)
這篇文章主要介紹了python實現(xiàn)k均值算法示例,簡單實現(xiàn)平面的點(diǎn)K均值分析,使用歐幾里得距離,并用pylab展示,需要的朋友可以參考下2014-03-03python實現(xiàn)七段數(shù)碼管和倒計時效果
今天小編就為大家分享一篇python實現(xiàn)七段數(shù)碼管和倒計時效果,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11Python基本類型的連接組合和互相轉(zhuǎn)換方式(13種)
這篇文章主要介紹了Python中基本類型的連接組合和互相轉(zhuǎn)換13種方式,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-12-12