监视POP3邮箱 (2)

2008-02-22 12:36:57来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折


IF NOT POP3Response(sockfd) then begin ErrorMsg:=
‘USER failed`; Exit;end;
Write_Socket(sockfd,‘PASS ` +Password + #13 #10);
IF NOT POP3Response(sockfd) then begin ErrorMsg:=
‘PASS failed`; Exit;end;
Write_Socket(sockfd,‘LIST` #13 #10);
POP3Response(sockfd);
while true do begin
s:=Socket_readline(sockfd);
if s=‘.` then BREAK;
MailList.Add(S);
end;
Write_Socket(sockfd,‘QUIT` #13 #10);
Closesocket(sockfd);
Result:=True;
end;
三、邮件的检测
----下面我们来看一个使用POP3CheckMail函数的简单示例。
var MailList:TstringList;
ErrorMsg:String;
....
MailList:=TstringList.Create;
POP3CheckMail(‘simon_liu@263.net`,
‘mypassword`, MailList, ErrorMsg);
If MailList.Count>0 then
MessageBox(0, Pchar(‘You have ` +IntToStr
(MailList.Count) + ‘ new messages!`),
‘New Message!`, MB_ICONINFORMATION)
Else if ErrorMsg=‘` then MessageBox
(0, ‘No message!`, ‘`,0)
Else MessageBox(0, Pchar(ErrorMsg), ‘Error`, 0);
MailList.Free;

----如果你仔细阅读了POP3CheckMail函数的实现代码,你会发现此函数除了可以获取邮件的封数之外,还可以获得每一封邮件的大小。你可以通过POP3CheckMail函数的变量参数MailList的Strings数组来获取邮件的大小。

----实现了POP3CheckMail函数,再在此基础上编写一个POP3信箱的监视程序就变得很简单了。你可以通过一个定时器来定期地调用POP3CheckMail函数,这样你就可以监视某个email信箱了。假若你想要同时监视多个email
信箱,只要为每一个信箱创建一个线程并且在线程中定期调用POP3CheckMail函数即可。你的程序中如果没有使用Delphi的控件,那么一个完整的信箱监视程序可能只有60K左右。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Internet控制信息协议(ICMP)

下一篇:传输控制协议(TCP)