自動郵件傳送系統

2021-08-26 02:30:57 字數 822 閱讀 7410

這幾天,財務部門有這樣乙個需求,就是200多個員工的工資,放在乙個excel檔案中,財務人員要複製每個員工的工資到乙個單獨檔案中,再通過附件的形式傳送給員工。我想就做乙個郵件自動傳送系統,實現自動複製每個員工工資條,再利用附件的形式自動傳送給員工,這樣滿足財務部的需求,提高工作效率。

我使用了c#中的smtpclient類實現。處理流程是這樣,初始化smtp伺服器。提供乙個開啟包括所有員工工資的對話方塊,選擇excel檔案。開啟該檔案,讀出每乙個員工的資料記錄,以運算元據庫的方式開啟;得到員工序號,以員工序號為儲存工資條的檔名稱。遇到的問題,就是因為有兩行欄位名稱,為巢狀的,而開啟資料庫的屬性,只能指定一行為欄位名稱。通過做兩個空的檔案(有兩個sheet表,格式不同),把員工的工資記錄讀出來,做為一條記錄插入到從空的檔案複製以序號為檔名稱的單獨檔案中。

在做的過程中,遇到乙個問題就是傳送兩個郵件之間的延遲時間,smtpclient提供了兩個傳送的方法,乙個是sent,另乙個是sentansyc,這兩個方法的區別是前乙個是同步的,而後乙個方法是非同步的。如果使用sent,則可以一直向smtp伺服器提交郵件,容易造成失敗,失去鏈結。而使用sentansyc,則可以檢查是否提交到了smtp伺服器。所以我檢查返回值,在返回成功時,提示資訊傳送成功。新增多個異常處理,在失去鏈結或郵箱不正確時,分別進行相應的異常處理。

最後,我確定是用後者方法,每個提交傳送之間的時間間隔可以設定,預設是2秒,這樣200個員工的郵件,在幾分鐘內就傳送完成。還有就是郵件編碼的問題,應該設定為gb2312,如果使用系統預設的utf-8編碼,則會出現亂碼問題。

ok,上面只是一些簡單的總結。如果把這個軟體加以改造,就可以使用多個smtp伺服器,實現向大量客戶自動傳送email的系統。

自動傳送郵件

程式功能 可以指定發件人,指定抄送人,指定標題,指定內容。郵件傳送基於 smtp 簡單郵件傳輸協議 郵件傳送 程式使用 smtp 協議來傳送電郵到接收者的郵件伺服器。smtp 協議只能用來傳送郵件,不能用來接收郵件,而大多數的郵件傳送伺服器都是使用 smtp 協議。smtp 協議的預設 tcp埠號是...

自動傳送郵件

import smtplib from email.mime.text import mimetext from email.header import header 傳送郵件主題 subject python email test 編寫html型別的郵件正文 msg mimetext html u...

自動郵件傳送系統 manok 新浪部落格

這幾天,財務部門有這樣乙個需求,就是200多個員工的工資,放在乙個excel檔案中,財務人員要複製每個員工的工資到乙個單獨檔案中,再通過附件的形式傳送給員工。我想就做乙個郵件自動傳送系統,實現自動複製每個員工工資條,再利用附件的形式自動傳送給員工,這樣滿足財務部的需求,提高工作效率。我使用了c 中的...