在Delphi中使用Indy 10和TidPOP3正常关闭错误连接

时间:2018-12-26 15:08:24

标签: delphi

我仅使用Indy 10中的TidPOP3组件,我的代码如下:

type
  TForm4 = class(TForm)
  Button1: TButton;
  Pop3: TIdPOP3;
  IdSSLIOHandlerSocketOpenSSL1: TIdSSLIOHandlerSocketOpenSSL;
  Mensaje : TIdMessage;
  RchTMessage: TRichEdit;

procedure Button1Click(Sender: TObject);

private
{ Private declarations }
public
{ Public declarations }
end;

var
  Form4: TForm4;

implementation

{$R *.dfm}

procedure TForm4.Button1Click(Sender: TObject);
begin
    Pop3 := TIdPOP3.Create;
    Pop3.Host := 'pop.gmail.com';
    Pop3.Port := 995;
    Pop3.Username := '**********@gmail.com';
    Pop3.Password := '**********';

try
  if not Pop3.Connected then
  begin
    Pop3.Connect;
    Application.ProcessMessages;
  end;
except on E: Exception do RchTMessage.Lines.Add(E.Message);
end;

end;

end.

当我按下按钮时,出现错误“连接正常关闭”。我已经配置了我正在使用的gmail帐户,以准备接受Pop3连接并接受来自其他应用程序的非安全连接。另外,我以该形式配置了TIdSSLIOHandlerSocketOpenSSL组件。

谢谢大家,新年快乐。

1 个答案:

答案 0 :(得分:0)

您的按钮OnClick处理程序将创建一个新的TIdPOP3对象,而不是使用您在窗体上放置的对象。您未配置该对象以使用SSL / TLS与Gmail交互,因为未将TIdSSLIOHandlerSocketOpenSSL附加到该对象,也未设置其UseTLS属性(至utUseImplicitTLS)。