在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

用Delphi編寫郵件特快專遞程序

用Delphi編寫郵件特快專遞程序

更新時間:2022-05-10 文章作者:未知 信息來源:網絡 閱讀次數:

陳旭波

“郵件特快專遞”這個詞現在已經是被廣大的網民所熟知了,它就好比是網絡上的EMS,能夠直接把郵件送到對方的郵箱中,郵件發送完畢后,對方就可以立刻收到。Foxmail在其最新的4.0版本中也特別新增了該功能,作為一名編程愛好者,你是不是也想知道如何編程實現該功能呢?那就隨本文一起揭開“郵件特快專遞”的神秘面紗:
一、實現原理
在Outlook Express中,可通過查看郵件的屬性得到該郵件的頭部資料。我們拿一封不是特快專遞的普通郵件來進行剖析,下面是筆者一封郵件的頭部資料:

Received: from sm1.163.com([202.108.44.203]) by peoplemail.com.cn(JetMail 2.5.3.0)
with SMTP id jm1ac3c063eec; Thu, 29 Nov 2001 07:20:25 -0000
Received: from xubo (unknown [61.154.94.146])
by sm1.163.com (Postfix) with ESMTP id 99CF11C461061
for ; Thu, 29 Nov 2001 15:12:49 +0800 (CST)
……
從該頭部資料可以看出,郵件傳遞的路線是由xubo→sm1.163.com→peoplemail.com.cn,其中xubo是本人所在機器,郵件是經由sm1.163.com這個中轉站才送到目的地的,而我們平常所說的郵件特快專遞,就是把郵件直接送到目的地而不需要中轉站。
如何才能知道目的地的地址呢?我們知道電子郵件的地址由用戶名(username)和郵箱域名(address.com)兩部分構成的,給域名服務器發送針對“address.com”的MX指令查詢即可找到目的地的地址。被查出來的目的地可能不止一個,有時這些目的地是有優先級別之分的,分別對應著郵件的優先級別,你可以根據郵件優先級的不同對應發送,也可以任意選擇其中一個發送,本文的示例將選擇反饋回來的第一個目的地發送,讀者可根據實際需要進行改進。

二、用到的核心組件
本文將采用Indy控件集進行域名查詢、郵件發送部分的編程。INDY的全名是Internet Direct(也叫Winshoes),是一套開放源代碼、跨平臺、優秀的Internet控件集,它支持大部分流行的Internet協議。Delphi 6已經包含了該控件集,如果你使用的是Delphi 6以前的版本,請先到Indy主頁http://www.nevrona.com/Indy/Download.html下載并安裝該控件集。

三、窗口設計
向窗體上放置三個TEdit組件,一個TMemo組件,四個Tlabel組件,用到的Indy組件為TIdDNSResolver、TIdAntiFreeze、TIdSMTP、TIdMessage。其中TIdDNSResolver是用來向域名服務器發出查詢請求并得到結果,TIdMessage用來構建郵件,TIdSMTP用來發送郵件,TidAntiFreeze可以確保Indy在工作時程序能響應來自外界的消息(注:Indy是以同步的方式進行工作的,在讀或寫操作完成之前,其它代碼無法執行,加入TidAntiFreeze可以在每隔一段時間通過呼叫Application.ProcessMessage方法響應來自外界的消息。)
程序的界面如下圖所示(箭頭所指向的文字標識了該組件的名字):

四、程序代碼(代碼中包含了詳細的說明)

……(前面一部分省略)
type
TForm1 = class(TForm)
IdDNSResolver: TIdDNSResolver;
IdAntiFreeze1: TIdAntiFreeze;
btnSend: TButton;
IdSMTP: TIdSMTP;
IdMsgSend: TIdMessage;
mmContent: TMemo;
Label1: TLabel;
edtTo: TEdit;
Label4: TLabel;
Label5: TLabel;
edtFrom: TEdit;
Label6: TLabel;
edtSubject: TEdit;
procedure btnSendClick(Sender: TObject);
private
{ Private declarations }
procedure GetMxList(AMxList: TStringList; AQName: string);
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

{ TForm1 }

{ 這個過程是用來得到郵件特快專遞目的地服務器名稱及優先級別數,參數AMXList是
用來接收結果值,AQName代表傳遞過來的域名 }
procedure TForm1.GetMxList(AMxList: TStringList; AQName: string);
var
i: Integer;
begin
with IdDNSResolver do
begin
Host := '202.101.107.55'; { Host屬性用來指定域名服務器的地址,此處為筆者所在地
的主域名服務器地址,你也可以指定任一可以快速訪問到的Internet上域名服務器
地址,要知道自己所在地的域名服務器地址,win98下通過winipcfg命令,win2000下
通過ipconfig /all即可查出。}
ReceiveTimeout := 10000; // 在指定的時間內得不到域名服務器的反饋,則視為失敗。
ClearVars; // 清除前一次查詢所反饋回來的資源記錄

{ 構建此次查詢的頭部結構 }
with DNSHeader do
begin
Qr := False; // False 代表查詢
Opcode := 0; // 0代表標準域名查詢
RD := True; //域名服務器可以進行遞歸查詢
QDCount := 1; //查詢的數量
end;

{ 構建要查詢的問題 }
DNSQDList.Clear;
with DNSQDList.Add do
begin
QName := AQName; //要查詢的域名
QType := cMX; //QTYPE指定要查詢的資源記錄的種類,值為cMX代表郵件交換記錄
QClass := cIN;
end;

ResolveDNS; //向域名服務器發出請求

{ 從域名服務器接收反饋的結果,將反饋回來的郵件服務器名稱放在AMXList列表的Name部分,
郵件服務器的優先級別數放在Value部分。 }
for i := 0 to DNSAnList.Count - 1 do
AMxList.Add(DNSAnList[i].RData.MX.Exchange + '=' +
IntToStr(DNSAnList[i].RData.MX.Preference));
end;
end;

{ 單擊"發送"按鈕時發送專遞郵件 }
procedure TForm1.btnSendClick(Sender: TObject);
var
MxList: TStringList;
i: Integer;
QName, ThoughAddress: string;
begin
{ 根據用戶所填寫的內容創建郵件 }
with IdMsgSend do
begin
Body.Assign(mmContent.Lines); //郵件正文
From.Address := Trim(edtFrom.Text); //發件人地址
Recipients.EMailAddresses := Trim(edtTo.Text); //收件人地址
Subject := edtSubject.Text; //郵件主題
end;

{ 從輸入的收件人地址中取出郵箱域名,利用前面的GetMxList過程得到目的地地址 }
QName := TrimRight(copy(edtTo.Text, Pos('@', edtTo.Text) + 1, Length(edtTo.Text)));
MxList := TStringList.Create;
try
GetMxList(MxList, QName);
ThoughAddress := MxList.Names[0]; {取反饋回來的第一個服務器為目的地,讀者可
根據實際需要改進,比如說考慮到信件的優先級或當你選擇的服務器因繁忙而暫時
不能處理你的信件時,換用其它服務器試試 }
finally
MxList.Free;
end;

{ 發送郵件 }
with IdSMTP do
begin
Host := ThoughAddress; // 將Host賦值為目的地,這就是特快專遞與普通郵件的區別
Port := 25; // smtp服務默認的端口為25
Connect; //連接到服務器
try
Send(IdMsgSend); //發送剛才創建的郵件
ShowMessage('發送完畢'); //發送完畢后提示
finally
Disconnect; //斷開服務器連接
end;
end;
end;

end.

本程序在Windows 2000 + Delphi 6 下調試通過。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • 无码人妻丰满熟妇区毛片18| 亚洲综合激情视频| 四虎永久在线精品无码视频| 久久久成人精品一区二区三区| 成人网站免费观看入口| 一区二区三区日韩视频| 欧美午夜精品理论片| 在线免费观看视频黄| 99久久国产宗和精品1上映| 国产女教师bbwbbwbbw| 国产一区一区三区| 日本美女久久久| 日韩一区二区三区久久| 日本黄色的视频| 中文字幕中文在线| 五月天中文字幕在线| 噼里啪啦国语在线观看免费版高清版| jizzjizzxxxx| 91淫黄看大片| 一道本视频在线观看| 一区二区三区视频网| 亚洲高清av一区二区三区| 天堂av免费看| 亚洲色成人www永久在线观看| 精品人妻少妇一区二区| 男女视频一区二区三区| 国产三级精品三级在线| 黑人巨大国产9丨视频| 欧美视频在线第一页| av污在线观看| www在线观看免费| 国产婷婷一区二区三区| 91av在线免费播放| 亚洲va在线va天堂va偷拍| 91嫩草国产丨精品入口麻豆| 老太脱裤让老头玩ⅹxxxx| 亚洲色成人一区二区三区小说| 成人免费无码av| www.久久av.com| 欧美 国产 小说 另类| 999精彩视频| 九色自拍视频在线观看| 亚洲综合av在线播放| 公共露出暴露狂另类av| 国产成人无码av在线播放dvd| 中文字幕在线观看日| 91专区在线观看| 欧美三级午夜理伦三级富婆| 国产性生活免费视频| jizz欧美激情18| 国产欧美久久久久| 五月婷婷六月丁香激情| 中文字幕无码精品亚洲35| 色一情一区二区| 一本—道久久a久久精品蜜桃| 免费无码不卡视频在线观看| 国产精品一区二区免费在线观看| 日韩av片专区| 人妻精品无码一区二区三区| 日韩人妻一区二区三区蜜桃视频| 亚洲人成色77777| 日韩成人三级视频| 黄色小视频免费网站| 亚洲色图38p| 国产高清av在线播放| 久久av喷吹av高潮av| 天天干天天玩天天操| 丝袜制服一区二区三区| 久久国产精品网| 欧洲精品在线播放| 久久艹这里只有精品| www.久久久久久久久久久| 精品久久久久久久无码 | 自慰无码一区二区三区| 成人午夜免费在线视频| 亚欧美一区二区三区| 欧美在线aaa| 久久久久久久久久久久91| 韩日视频在线观看| 麻豆映画在线观看| 涩涩网站在线看| 国产av不卡一区二区| 国产精品夜夜夜爽张柏芝| 日韩在线一区视频| 日韩中文字幕二区| 男女超爽视频免费播放| 日本一级黄视频| 成年人看的毛片| 免费一级特黄特色毛片久久看| 无码播放一区二区三区| 国产精品网站免费| 91插插插插插插插插| 亚洲狼人综合干| 日本特级黄色大片| 国产免费xxx| 国产综合av在线| 国产精品97在线| 精品亚洲视频在线| 欧美中文字幕在线观看视频 | 午夜影院免费观看视频| 不卡中文字幕在线| 免费国产a级片| 国产一区二区在线免费播放| 黄色网zhan| 国产女大学生av| 成人不卡免费视频| 成人性生活视频免费看| 五月六月丁香婷婷| www.av91| 超碰中文字幕在线观看| 黄页免费在线观看视频| 在线观看av网页| 欧美精品卡一卡二| 伊人色在线视频| 国产极品粉嫩福利姬萌白酱| 深爱五月综合网| 熟女熟妇伦久久影院毛片一区二区| 国产中文字幕乱人伦在线观看| 超碰人人爱人人| 国产精品探花在线播放| 欧美激情第一区| 已婚少妇美妙人妻系列| 自拍偷拍视频在线| av网站在线不卡| www.成年人视频| 久久久久久久高清| 色播五月综合网| 成年人免费在线播放| 日本一道在线观看| 欧美v在线观看| 精品少妇在线视频| 午夜激情视频网| 亚洲免费av一区二区三区| 996这里只有精品| 日韩小视频在线播放| 超碰超碰超碰超碰超碰| 尤蜜粉嫩av国产一区二区三区| 国产精彩视频一区二区| 国产系列第一页| 国产免费一区二区三区四在线播放| 欧美 激情 在线| 中国丰满人妻videoshd| 国自产拍偷拍精品啪啪一区二区| 久久久精品三级| 成人黄色一区二区| 欧美精品在欧美一区二区| 好色先生视频污| 色呦呦网站入口| 少妇一级淫免费播放| 午夜免费福利在线| 18视频在线观看娇喘| 三上悠亚免费在线观看| 成年网站在线播放| 亚洲欧美国产日韩综合| 天美一区二区三区| jizzzz日本| 黄黄视频在线观看| 天天色综合社区| www.亚洲高清| 亚洲这里只有精品| 一级做a爱视频| ijzzijzzij亚洲大全| 日本网站在线看| 国产成年人在线观看| 国产一二三区av| 国产精品乱码久久久久| 密臀av一区二区三区| 九一精品久久久| 欧美日韩亚洲国产成人| 亚洲老女人av| 国产一级不卡视频| 欧美aⅴ在线观看| 丰满少妇在线观看| 久久精品久久99| 国产xxxxx在线观看| 少妇人妻互换不带套| 色啦啦av综合| 天天做天天躁天天躁| 欧美日韩第二页| 五月天国产视频| 免费成人午夜视频| 三区视频在线观看| 无码专区aaaaaa免费视频| av免费网站观看| 青青在线免费视频| 中文字幕在线观看第三页| 97超碰人人看| 国产l精品国产亚洲区久久| 污视频网站观看| 亚洲 自拍 另类小说综合图区 | 97在线播放视频| 91插插插插插插插插| 99久久久无码国产精品性色戒| 日韩a在线播放| 18禁免费观看网站| 天天操狠狠操夜夜操| 欧美啪啪免费视频| 公共露出暴露狂另类av| av五月天在线| 欧美黑人经典片免费观看|