小编Jac*_*k U的帖子

Delphi XE2 Indy 10.5.92 GMail SMTP 错误“用户名和密码不被接受”

我的问题是:为什么 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)

delphi gmail indy10 delphi-xe2

1
推荐指数
1
解决办法
2050
查看次数

标签 统计

delphi ×1

delphi-xe2 ×1

gmail ×1

indy10 ×1