我的问题是:为什么 gmail 给我这个错误:
不接受用户名和密码。如需了解详情,请 访问 http://support.google.com/mail/bin/answer.py?answer=14257 lp8sm18275694wic.17 - gsmtp
我尝试了一切,一大堆选项:SSL、TSL、SASL,但仍然没有。在某处我发现谷歌需要一些 OAUTH2 SASL 方法,这些方法将在 Indy 中完成。
当然,在 Delphi 6 和 Indy 9 上,使用 ssl 在端口 465 上使用适当的 eay dll 工作正常。任何人都知道该怎么做?
当然我安装了http://slproweb.com/products/Win32OpenSSL.html我有人问过......
这是代码:
procedure send(Recipientemail, AccountName, Pass, EmailSMTP,EmailPortNo :string);
var
lTextPart: TIdText;
lImagePart: TIdAttachmentfile;
IdSMTP1: TIdSMTP;
IdMsg: TIdMessage;
SSLHandler:TIdSSLIOHandlerSocketOpenSSL;
IdUserPassProv1: TIdUserPassProvider;
IdSASLLogin1: TIdSASLLogin;
IdSASLCRAMMD5: TIdSASLCRAMMD5;
IdSASLCRAMSHA1: TIdSASLCRAMSHA1;
IdSASLPlain: TIdSASLPlain;
IdSASLLogin: TIdSASLLogin;
IdSASLSKey: TIdSASLSKey;
IdSASLOTP: TIdSASLOTP;
IdSASLAnonymous: TIdSASLAnonymous;
IdSASLExternal: TIdSASLExternal;
begin
IdSMTP1:=TIdSMTP.Create(nil);
IdMsg:=TIdMessage.Create(nil);
IdSMTP1.Host:=EmailSMTP;
IdSMTP1.Port:=EmailPortNo;
//IdSMTP1.Username:=trim(AccountName);//tried with or without
//IdSMTP1.Password:=trim(Pass);//tried with …Run Code Online (Sandbox Code Playgroud)