C 實現郵件單人傳送

2021-09-22 08:11:17 字數 1739 閱讀 7563

a使用163郵箱傳送郵件給b(qq郵箱)。首先a會把郵件通過smtp(****** mail transfer protocol)協議傳輸到163的smtp伺服器上,163的smtp伺服器會根據b的郵箱賬號,把郵件通過smtp協議發給qq郵箱的smtp伺服器。qq的smtp伺服器接收到郵件訊息後會將之儲存在qq郵箱的郵件儲存裝置上。當b登陸qq郵箱後,如果有新郵件,pop3伺服器就會從qq郵箱的郵件儲存裝置上讀出郵件並通過pop3/imap服務傳送給郵件客戶端的b。 

思路很清晰,遇見的問題在文末的參考資料已經給出。

傳送郵件的大致流程:

第一步、建立郵件,利用mailmessage類實現。

第二步、建立郵件傳送客戶端並傳送郵件,利用.net框架下內建的smtpclient類。

private void button_send_click(object sender, eventargs e)

catch (exception exception)

if (addr != null)

addr = null; //分支語句,只會執行一次,動態記憶體的釋放,避免記憶體洩漏。

}

private void configaddr(ref string addr) //配置發件人和接收人位址。

private mailmessage createmailmsg(string frommail, string tomail) //建立郵件物件。

; mailmessage.to.add(new mailaddress(tomail, txttoname.text, encoding.utf8));//新增第乙個收件人。換成陣列加上乙個迴圈就可以了。

/*設定一系列編碼格式。*/

mailmessage.subjectencoding = encoding.utf8;//郵件主題編碼設定為utf-8。

mailmessage.bodyencoding = system.text.encoding.utf8; //郵件正文編碼格式設定為utf-8。

mailmessage.isbodyhtml = false; //郵件正文不使用html格式。

/*設定郵件主題以及正文內容。*/

mailmessage.subject = txtsubject.text;//郵件主題內容設定。

mailmessage.body = rtxtbody.text;//郵件正文內容設定。

/*新增附件。*/

foreach (treenode node in treeviewfilelist.nodes)

else

}return mailmessage; //返回郵件物件。

}

private void sendmailmsg(mailmessage mailmessage) //傳送郵件,引數是郵件型別mailmessage。

三、參考資料 

使用.net 內建的smtpclient來實現郵件的傳送

不允許使用郵箱名稱。 伺服器響應為:authentication is required

outlook提示503 error: need ehlo and auth first的解決辦法

C 實現傳送郵件

一 郵件伺服器。qq郵箱的收取郵件支援pop imap兩種協議,傳送郵件採用smtp協議,收件和發件均使用ssl協議來進行加密傳輸,採用ssl協議需要單獨對帳戶進行設定。採用ssl協議和非ssl協議時埠號有所區別,參照下表的一些常見配置組合 型別 伺服器名稱 伺服器位址 非ssl協議埠號 ssl協議...

C 實現郵件傳送

c 實現郵件傳送 通過.net framework 2.0下提供的 system.net.mail 可以輕鬆的實現,本文列舉了3種途徑來傳送 1.通過localhost 2.通過普通smtp 3.通過ssl的smtp 下面乙個乙個來說 1.通過localhost 1public void sendm...

C 實現郵件傳送

要實現郵件傳送功能首先需要準備兩三個郵箱測試,在這裡呢準備了2個qq郵箱和乙個微軟郵箱,詳細請看 我這裡是使用qq郵箱向另外兩個郵箱傳送郵件的,在開始寫 之前你需要登入你qq郵箱進行以下幾個操作 1.開啟mstp服務,相當於乙個授權的過程,開啟這個後才可以通過第三方傳送郵件 點選開啟後會有乙個提示框...