用PB編寫郵件應用程式

2021-04-17 07:51:37 字數 2437 閱讀 3857

圖1

2.閱讀郵件

使用者資訊在伺服器上通過驗證以後,乙個有效的郵件會話就建立了,接下來要做的工作就是接發郵件。

pb用乙個mailmessage物件來描述一封郵件,該物件封裝了郵件的主題、位址、訊息體和附件等資訊。圖1是郵件應用程式的閱讀介面,它列出了收件箱中的所有郵件,可選擇其中一封進行閱讀。主視窗open事件的**為:

…… //連線到郵件伺服器

mymail.mailgetmessages()

//用收件箱中的郵件填充mymail物件

inum=upperbound(mymail.messageid)

//獲取收件箱中的郵件數目

for i=1 to inum //讀取收件箱中的每一封郵件,並將其主題新增到列表框中

mymail.mailreadmessage(mymail.messageid[i],msg, mailentiremessage!,true)

tab—1.tabpage—1.plb—1.additem(msg.subject,1)

next //msg為mailmessage型別的例項變數

在plb—1控制項的selectionchanged事件中加入下列**:

mymail.mailreadmessage(mymail.messageid[index],msg, mailentiremessage!,true)

sle—1.text=msg.subject

//顯示當前郵件的主題

sle—2.text=msg. recipient[1].address

//顯示發件人位址

sle—3.text=msg.datereceived

//顯示收件時間

mle—1.text=msg.notetext

//顯示郵件的訊息體

iattachmentfilenum=upperbound(msg.attachmentfile)

//獲取當前郵件的附件數目

for i=1 to iattachmentfilenum

strattfile= strattfile +msg.attachmentfile[i].pathname+″~r~n″

next //strattfile為string型別的例項變數

在「附件」按鈕的clicked事件中加入下列**:

messagebox(″郵件附件″, strattfile) //顯示當前郵件的附件及其在硬碟上存放的位置

3.傳送郵件

圖2是郵件應用程式的傳送介面,它接收收件人位址、郵件主題、訊息體和附件,用於填充乙個mailmessage型別的物件msg,然後傳送。「新增附件」按鈕用於選擇磁碟檔案,其clicked事件**為:

圖2 string docname, named

integer value

value = getfileopenname(″選擇附件″, docname, named, ″doc″, ″all files (*.*),*.*″)

if value = 1 then

plb—2.additem(docname,1)

//docname中必須包含完整的路徑資訊

「刪除附件」按鈕用於把已新增的檔案去掉,其clicked事件**為:

ind= plb—2.selectedindex()

if ind〈〉-1 then plb—2. deleteitem(ind)

「傳送」按鈕的clicked事件**為:

msg.subject=sle_4.text //郵件主題

msg.notetext=mle—2.text //訊息體

msg.recipient[1].recipienttype=mailto!

//指定收件人型別為mailto!

msg.recipient[1].address=′**tp:′+sle—5.text

//收件人位址,前面必須加上**tp協議

for i=1 to plb—2.totalitems()

//把選中的檔案加到附件中

msg.attachmentfile[i].filetype=mailattach! //指定附件i的型別

msg.attachmentfile[i].pathname= plb—2.text(i) //附件i的完整檔名

next

mymail.mailsend(msg) //傳送郵件

4.結束郵件會話

在「退出」按鈕的clicked事件中加入下列**:

mymail.maillogoff() //結束郵件會話

destroy mymail //銷毀會話物件

至此,乙個簡單的郵件應用程式就編好了,它雖然還不足以和foxmail、outlook相媲美,但已經具備了它們最基本的功能。

例子中的程式在pb6.5中除錯通過,大部分**可以直接利用

用PB編寫郵件應用程式

由於受到強大資料庫功能的掩蓋,pb的郵件功能鮮為人知。在vb中可以輕鬆地利用cdo控制項發郵件 delphi中用nm tp 而pb中的郵件函式比它們更靈活 方便。pb以其獨特高效的資料庫訪問技術,贏得了廣大程式設計師的青睞。從表面上看,它似乎只適合於開發資料庫應用程式,而事實上,pb遵照信報介面ma...

用 eVB編寫移動應用程式

用 embedded visual basic 編寫移動應用程式 larry roof tonked.com 2001年5月9日 本文最初發表在 msdn online voices 的 two for the road 專欄 選擇 windows ce for the pocket pc 模板,然...

用BCB編寫多執行緒應用程式

隨著windows系統的全球性普及,多執行緒技術已越來越多地運用到許多軟體設計中。使用多執行緒技術可全面提高應用程式的執行效率。以前為了實現多執行緒程式設計,基本上都是呼叫一系列的api函式,如createthread resumethread等,不容易控制,還容易出錯。在使用bcb以後,我才發現原...