做郵件傳送系統中用到的一些知識

2021-06-15 20:56:03 字數 2386 閱讀 9478

做郵件傳送系統中用到的一些知識。

(一).先來簡要的認識一下在程式中要用到的協議――簡單郵件傳輸協議(****** 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...