懶人必備Python代碼之自動發(fā)送郵件
痛點
在傳統(tǒng)的工作中,發(fā)送會議紀要是一個比較繁瑣的任務,需要手動輸入郵件內(nèi)容、收件人、抄送人等信息,每次發(fā)送都需要重復操作,不僅費時費力,而且容易出現(xiàn)疏漏和錯誤。
但是,有了這個程序,員工們就可以輕松地將發(fā)送會議紀要的任務交給計算機來完成。程序可以自動讀取當天的日期,作為郵件標題,收件人和抄送人也可以事先設定好,不需要每次手動輸入。通過簡單地填寫郵件正文和附件,員工們就可以一鍵發(fā)送會議紀要,大大提高了工作效率和準確性。
因此,這個程序可以讓員工解脫出來,將更多的時間和精力投入到其他更加重要的工作中,提升工作效率和工作質(zhì)量,為企業(yè)發(fā)展做出更大的貢獻。
應用場景
會議紀要自動發(fā)送:對于每周例會或者每月匯報會議等重要會議,通常需要發(fā)送會議紀要給參會人員和相關部門,這個程序可以自動發(fā)送會議紀要,減少手動操作的時間和錯誤,提高工作效率。
招投標文件發(fā)送:在企業(yè)進行招投標時,需要將招標文件發(fā)送給潛在的投標人,這個程序可以自動發(fā)送招標文件,避免手動輸入郵件地址和郵件內(nèi)容的繁瑣操作,提高投標工作的效率。
活動邀請函發(fā)送:對于企業(yè)的各種活動,如產(chǎn)品發(fā)布會、客戶慶祝會等,需要發(fā)送邀請函給參加者,這個程序可以自動發(fā)送邀請函,減少重復的手動操作和錯誤,提高工作效率。
項目進度匯報發(fā)送:對于項目管理人員,需要定期向管理層和項目組成員發(fā)送項目進度匯報,這個程序可以自動發(fā)送項目進度匯報,節(jié)約時間和精力,提高項目管理效率。
總之,這個程序可以應用于很多需要發(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="郵件標題:", 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))
# 設置默認值
today = datetime.date.today().strftime("%Y-%m-%d")
self.title_input.SetValue(today + "會議紀要")
#顯示對齊的多行文本
self.memo_input.SetValue("大家好:附件中是今天的會議紀要")
# 綁定事件
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()
# 設置郵件內(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:\\\\每周例會紀要.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 界面,其中包含了郵件標題、正文和發(fā)送按鈕等控件。當用戶點擊發(fā)送按鈕時,程序會自動將郵件發(fā)送給指定的收件人,并彈出一個提示框提示用戶發(fā)送成功。
以下是代碼的大致流程:
導入所需的 Python 模塊,包括 wxPython、datetime、smtplib、MIMEText、MIMEMultipart 和 MIMEApplication 等模塊。
創(chuàng)建一個 MyFrame 類,繼承自 wx.Frame,用于創(chuàng)建 GUI 界面。
在 MyFrame 類中創(chuàng)建郵件標題、正文和發(fā)送按鈕等控件,并設置默認值和綁定事件。
當用戶點擊發(fā)送按鈕時,程序會調(diào)用 on_send() 方法,獲取郵件標題和正文等信息,然后將郵件內(nèi)容封裝成 MIMEMultipart 對象。
程序會讀取指定的附件文件,并將附件添加到郵件中。
程序會連接指定的 SMTP 服務器,并使用指定的郵箱賬號和密碼進行登錄。
程序會調(diào)用 SMTP 對象的 sendmail() 方法將郵件發(fā)送給指定的收件人。
發(fā)送成功后,程序會彈出一個提示框,提示用戶發(fā)送成功。
最后,程序進入主循環(huán),等待用戶操作界面。
需要注意的是,程序中的一些字符串(如郵箱地址、SMTP 服務器地址、附件路徑等)都是需要根據(jù)實際情況進行替換的。另外,這段代碼并沒有提供完整的異常處理,實際使用時需要根據(jù)實際情況進行修改。
效果如下所示

到此這篇關于懶人必備Python代碼之自動發(fā)送郵件的文章就介紹到這了,更多相關Python自動發(fā)送郵件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
python實現(xiàn)k均值算法示例(k均值聚類算法)
這篇文章主要介紹了python實現(xiàn)k均值算法示例,簡單實現(xiàn)平面的點K均值分析,使用歐幾里得距離,并用pylab展示,需要的朋友可以參考下2014-03-03
python實現(xiàn)七段數(shù)碼管和倒計時效果
今天小編就為大家分享一篇python實現(xiàn)七段數(shù)碼管和倒計時效果,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11

