C 郵件批量傳送程式

2021-05-02 12:06:35 字數 1095 閱讀 9939

前一段時間使用 system.net.mail.mailmessage 類寫了乙個郵件批量傳送的程式,在除錯和測試中遇到的一些問題和大家共享一下,希望能夠對大家有所幫助。

用mailmessage 類傳送郵件的方法有很多,但我推薦使用非同步方式傳送郵件,尤其是傳送批量郵件,這是因為程式在向郵件伺服器提交多個郵件時,同步方式是等到上一封郵件提交完成並且有傳送狀態返回,才開始傳送下一封,如果這時連線郵件伺服器的網路比較慢,沒有及時響應,那麼程式一直處於等待狀態,會影響後面的傳送,有時還會產生重複提交,使收件人收到多封重複郵件。

下面是乙個非同步傳送的例項。

using system ;

using   system . componentmodel ;

using   system . net ;

using   system . net . mail ;

namespace   mailsendexample  

if   ( e . error != null )

else }

public   static bool sendmail ( string fromemail , string fromname , string reemail , string toemail , string mailtitle , string mailbody )

catch   ( exception ex )

try

catch   ( exception ex ) }

} }

大家注意下面這個個問題,注意除錯的那句程式

//除錯

//logger.writeline("sendmail:" + mail.to + "|" + mail.from );

自從加入這句寫日誌的方法就行除錯,郵件傳送一直失敗,這個問題困擾了好長時間,最後擷取錯誤資訊才發現原因,錯誤提示是「郵件標頭中找到無效字元 」,感覺非常奇怪,這個問題困擾了好長時間,最後在網上找到了相關資料才知道是微軟的乙個bug,大家可以參考一下下面的鏈結,上面有很詳細的說明。

C 批量傳送郵件程式

form1.cs c 批量傳送郵件程式.遠端抓取網頁源 作為郵件內容.首先批量從文字檔案中讀取客戶郵件位址,然後傳送 安裝network平台,新增引用 system.web.dll using system using system.drawing using system.collections ...

批量定時傳送郵件

作用 借用該模組的內建引數,來實現傳送郵件的過程 步驟 匯入包yagmail 之後,通過mail yagmail.smtp 例項化乙個物件出來,需要傳入的引數user 發件人 password 授權碼 host smtp伺服器 獲取授權碼的位置 qq郵箱為例 通過mail.send 模組傳送郵件內容...

C 批量傳送 抄送郵件 附件

方法 using system using system.net.mail using system.net namespace tool 抄送人列表,秘秘抄送人列表 回執人列表 附件列表 郵件級別 ssl加密 預設開啟 smtp協議位址 預設163郵箱 可以自行網上查詢填寫 public stat...