做郵件傳送系統中用到的一些知識。
(一).先來簡要的認識一下在程式中要用到的協議――簡單郵件傳輸協議(****** mail transfer protocol)――smtp, smtp伺服器,是用來傳送郵件和中轉郵件。寫到這也要提一下他的姐妹兄弟郵局協議 3(postoffice protocol 3)――pop3。pop3伺服器是用來接收郵件的,我們帳戶上的郵件就是儲存在此類的伺服器上。由於我們在本文中只是介紹傳送郵件,所以涉及的只是smtp。
(二).接著我們來了解一下我們在程式中用到的命名空間(namespace)――system.web.mail(注:.net framework sdk beta 1版中叫system.web.util)。在這個大的類庫裡面提供了關於郵件傳送的豐富的物件、屬性、方法,就是他使的傳送郵件變成了一件很輕鬆、愉快的事情。接下來就簡要介紹一下各個物件、屬性和方法的具體用法:
(1).物件
在system.web.mail命名空間裡面 用來傳送郵件的物件主要有三個,分別是smtpmail、mailmessage、mailattachment。其中smtpmail是設定smtp伺服器,由他來選定用什麼伺服器來傳送郵件。mailmessage是三個物件中內容最豐富的,大量的屬性包裝成我們現在的郵件構成要件,mailattachment物件則對應著郵件中的附件。
(2).屬性
在system.web.mail命名空間裡面是mailmessage物件的屬性最為豐富,也最為重要,下表就是他最主要的屬性,這些屬性都和我們的傳送郵件直接相關:
屬性名稱 代表意義
from 源位址
to 目的位址
subject 郵件主題
priority 郵件優先順序(high, low, normal )
attachments 附件
bcc 暗送位址
cc 抄送位址
body 郵件內容主體
bodyformat 郵件格式(html,text)
bodyencoding 郵件編碼(base64, uuencode)
(3).方法
在system.web.mail命名空間裡面最重要的方法就是smtpmail物件的send方法,程式中就是通過呼叫他來傳送郵件的。他的呼叫有二種方式:
i>.直接呼叫
對於smtpmail物件的send方法只要有四個引數就可以完成呼叫,就是說,只要有四個正確的引數就能夠傳送電子郵件了。具體呼叫格式如下:
smtpmail.send(「郵件源位址」,」郵件目標位址」,」郵件主題」,」郵件內容」)
但是這種呼叫過於簡單,只能滿足簡單郵件的傳送,對於複雜的郵件,就要用第二中方法來呼叫:
ii>.把mailmessage物件作為引數來呼叫,具體呼叫如下:
smtpmail.send(mailmessage)
由於mailmessage物件屬性多,所以這種呼叫可以使郵件內容更加豐富,一般採用這種方式來傳送郵件。在下面的例子裡面就是用這種呼叫方式。
三.設計思路及步驟:
首先要說明的是在此asp.net 程式裡面我們用的程式語言是visual basic .net。
第一步:要包括命名空間system.web.mail,加入在程式中使用的程式語言型別:
第二步:初始化smtpmail、mailmessage物件:
dim mailobj as new mailmessage
dim smtp as new smtpmail
『定義smtp伺服器的名稱
smtp.smtpserver="smtp.yeah.net"
『定義郵件的傳送位址
mailobj.from = 「[email protected]」
『定義郵件的接收位址
mailobj.to =」 [email protected]」
『定義郵件的暗送位址
mailobj.bcc=」[email protected]」
『定義郵件的抄送位址
mailobj.cc=」[email protected]」
『定義郵件的主題
mailobj.subject = "我的郵件系統,歡迎使用!"
『定義郵件的主體
mailobj.body = "這裡是郵件的主體!"
『郵件以 html的格式傳送
mailobj.bodyformat = mailformat.html
『定義郵件的有限級,在此設定為高
mailobj.priority = mailpriority.high
mailobj.attachments.add(new mailattachment("c:/test.doc"))
第三步:傳送郵件
smtp.send(mailobj)
程式設計中用到的一些演算法
1.取任意位 define bit a,b a b 0x01 a is the variable while b is the bit number 從第0位數起,而不是從第1位數起 2.取十進位制i各位上的數給a n a 0 i 10 a 1 i 100 10 a 2 i 1000 100 3.取...
競賽中用到的一些STL
memset a,0,sizeof a 陣列初始化為0 memset b,1,sizeof b 陣列初始化為 1不使用cmp 在上公升序列中找第乙個比k大的 使用cmp 在下降序列中找第乙個比k小的 兩者預設都是從前向後找,lower更靠前,找到的可以等於k bool cmp int a,int b...
開發過程中用到的一些知識
在後台給前台控制項賦值16進製制的顏色 控制項名.background new solidcolorbrush color colorconverter.convertfromstring ff54c0dc wpf監控方法 timer timer timer new system.threading...