C 傳送郵件

2021-06-16 15:01:11 字數 3000 閱讀 9078

主要控制項屬性

型別                                  

描述                                

name

屬性                                其他

textbox                               

收件人位址                          

txtaddress

textbox                               

標題                                      

txttitle

textbox                                

內容                                     

txtcontent                               

mutiline

屬性為true

textbox                                

附件                                     

txtattachment                         

readonly

屬性為true

button                                 

傳送                                      

btsend

button                                 

新增附件                               

btaddattachment

雙擊「傳送」按鈕,開啟**檢視,在**視窗的頂部新增對命名空間的引用,**如下:

using system.net.mail;

在「傳送」按鈕的click事件中,新增對sendmail函式的呼叫,**如下:

private void btsend_click(object sender, eventargs e)

if (sendmail())

messagebox.show("傳送成功");

編寫sendmail函式,**如下:

//傳送電子郵件成功返回true,失敗返回false

private bool sendmail()

mailaddress from = new mailaddress("[email protected] ", "測試賬號");//在此處填入傳送郵件的郵箱

//收件人位址

mailaddress to = new mailaddress(this.txtaddress.text, "hello");

mailmessage message = new mailmessage(from, to);

//新增附件,判斷檔案存在就新增

if(system.io.file.exists(this.txtattachment.text))

attachment item =new attachment(this.txtattachment.text, mediatypenames.text.plain);

message.attachments.add(item);

message.subject = this.txttitle.text; // 設定郵件的標題

message.body = this.txtcontent.text; //傳送郵件的正文

message.bodyencoding = system.text.encoding.default;

mailaddress other = new mailaddress("[email protected]");

message.cc.add(other); //新增抄送人

//建立乙個smtpclient 類的新例項,並初始化例項的smtp 事務的伺服器

smtpclient client = new smtpclient(@"smtp.sina.com");//smtpclient client = new smtpclient(@"smtp.qq.com");

client.deliverymethod = smtpdeliverymethod.network;

client.usedefaultcredentials = false;

client.enablessl = false;

//身份認證

client.credentials = new system.net.networkcredential("[email protected]", "*****");//傳送郵件的郵箱以及郵箱密碼

bool ret =true; //返回值

tryclient.send(message);

catch (smtpexception ex)

messagebox.show(ex.message);

ret =false;

catch(exception ex2)

messagebox.show(ex2.message);

ret = false;

return ret;

按f5鍵執行程式,測試郵件的傳送功能。

本章主要介紹了如何使用system.net.mail命名空間下的類。其中,smtpclient類可以傳送電子郵件,mailmessage類可以豐富電子郵件的內容,mailaddress類可以設定電子郵件的收件人或發件人的電子郵件位址,attachment類可以為郵件新增附件。

通過對本章的學習,讀者可以掌握傳送電子郵件的技巧,還能為應用程式提供自動傳送電子郵件的功能。

其中smtp的設定,我測試的時候用的qq郵箱傳送郵件給qq郵箱,那麼傳送郵件的郵箱就需要開啟qq郵箱的imap/smtp服務,也就是進入郵箱首頁-->設定-->賬戶-->選擇smtp服務

C 傳送郵件

今天俺學習c 傳送郵件的方法 在命名空間system.web.mail 傳送電子郵件主要用到了二個物件 乙個是mailmessage物件,此物件主要是封裝電子郵件的各個屬性,即所謂的發信人,收信人,信件的主題,信件的內容和信件的附件等。另外乙個是 tpmail物件,這個物件的最大作用是把已經定義好各...

C 傳送郵件

今天作乙個小專案,其中有個提醒功能,需要簡訊和郵件。因此查詢了一下c 傳送郵件,原來在學習計算機網路時了解到,其實就是實現 tp協議和pop3協議,但是自己有沒有伺服器,於是利用126的郵箱製作。如下 mailmessage message new mailmessage message.from ...

C 傳送郵件

using system using system.net.mail using system.net 說明 在.net2.0以上版本中傳送電子郵件的方法示例 用到的類主要位於system.net.mail和system.net命名空間下 日期 2008 08 08 傳送郵件 收件人郵件位址 發件人...