当前位置:主页>销售管理软件> 列表

用WinSocket发送邮件 找库存管理

销售管理软件版1楼: 用WinSock API 模式:TCP
1.用WinSocket发送邮件,帮看看是那里出错了,认证不成功。
2.祝大家新年快乐,万事如意!

2楼: 1.用WinSocket发送邮件,帮看看是那里出错了,认证不成功。
{
220 163.com Coremail SMTP(Anti Spam) System
250-mail
250-PIPELINING
250-AUTH LOGIN PLAIN NTLM
250-AUTH=LOGIN PLAIN NTLM
250 8BITMIME
334 dXNlcm5hbWU6
334 UGFzc3dvcmQ6
535 Error: authentication failed
}
//Loging Smtp server
function SmtpLogin(Server: PChar; Port: Word; UserName, PassWord: PChar;
const atLogin: BOOL = False): TSocket;
var
CmdRet: TCmdRet;
begin
Result := DoConnect(Server, nil, Port);
if ValidSocket(Result) and MailResponse(MailReadLine(Result), 220) then
begin
//atLogin 要认证
if atLogin then begin
CmdRet:= MailCommand(Result, ''EHLO '', ''www.000.com'', 250);
CmdRet:= MailCommand(Result, ''AUTH LOGIN '', nil, 250);
CmdRet:= MailCommand(Result, ''PIPELINING '', nil, 250);
CmdRet:= MailCommand(Result, ''SIZE '', nil, 250);
CmdRet:= MailCommand(Result, ''ETRN '', nil, 250);
CmdRet:= MailCommand(Result, ''8BITMIME '', nil, 250);
CmdRet:= MailCommand(Result, ''USER '', PChar(Base64Encode(UserName)), 334);
CmdRet:= MailCommand(Result, ''PASS '', PChar(Base64Encode(PassWord)), 235);
if not CmdRet.Result then begin
StopSocket(Result);
ShowMessage(''authentication failed.'');
Exit;
end;
end
else begin
CmdRet:= MailCommand(Result, ''HELO '', ''163.test.com'', 250);
if not CmdRet.Result then
begin
ShowMessage(''Cmd HELO failed'');
StopSocket(Result);
Exit;
end;
end;
end else //if ValidSocket(Result) and Pop3Response(Result) then
begin
StopSocket(Result);
end;
end;

function SendMail(const S: TSocket; Body, Subject, Addres, From: PChar;
const Attachment: PChar = nil): BOOL;
var
CmdRet: TCmdRet;


begin //''MAIL FROM: ''+CRLF;
Result := False;
CmdRet := MailCommand(S, ''MAIL FROM: '', From, 250);
if not CmdRet.Result then
begin
end;
CmdRet := MailCommand(S, ''RCPT TO: '', From, 250);
if not CmdRet.Result then
begin
end;
CmdRet := MailCommand(S, ''DATA'', nil, 250);
if not CmdRet.Result then
begin
end;
CmdRet := MailCommand(S, ''From:'', From, 250);
if not CmdRet.Result then
begin
end;
CmdRet := MailCommand(S, ''To:'', Addres, 250);
if not CmdRet.Result then
begin
end;
CmdRet := MailCommand(S, ''Subject:'', Subject, 250);
if not CmdRet.Result then
begin
end;
CmdRet := MailCommand(S, nil, Body, 250);
if not CmdRet.Result then
begin
end;
CmdRet := MailCommand(S, ''.'', nil, 250);
if not CmdRet.Result then
begin
end;
CmdRet := MailCommand(S, ''QUIT'', nil, 250);
if not CmdRet.Result then


begin
end;
Result := True;
end; 如库存管理

3楼: ding

4楼: 认证要Base64编码

5楼: 网址大全:http://3711.855.com 在这里你可以找你想要的网站!

6楼: 新年快乐,万事如意!

销售管理软件版7楼: 新年快乐,万事如意!