gpt4 book ai didi

delphi - 使用 Indy 10 检索 GMail 收件箱

转载 作者:太空宇宙 更新时间:2023-11-03 12:50:03 26 4
gpt4 key购买 nike

我正在尝试使用 Delphi 构建应用程序,您必须阅读 Gmail 收件箱,并且必须处理用于特殊目的的电子邮件。

我使用 Indy 组件 POP3 构建了这个应用程序,部分代码如下。

procedure TfrmMain.LeerCorreos;
var
mensaje: TIdMessage;
i: Integer;
begin
try
with POP3 do
begin
Name := 'POP3';
AutoLogin := False;
Host := 'pop.gmail.com';
Username := '*******@gmail.com';
Password := '*****';
Port := 995;
IOHandler := IdSSLIOHandlerSocketOpenSSL;
UseTLS := utUseImplicitTLS;
end;
with IdSSLIOHandlerSocketOpenSSL do
begin
Destination := 'pop.gmail.com:995';
Host := 'pop.gmail.com';
Port := 995;
DefaultPort := 0;
end;
POP3.Connect;
try
Mensajes.Clear;
mensaje := TIdMessage.Create(nil);
try
for i := 1 to POP3.CheckMessages do
begin
mensaje.Clear;
POP3.RetrieveHeader(i, mensaje);
Mensajes.Items.Add;
Mensajes.Items[i - 1].SubItems.Add(mensaje.From.Address);
Mensajes.Items[i - 1].SubItems.Add(mensaje.Subject);
Mensajes.Items[i - 1].SubItems.Add(DateToStr(mensaje.Date));
end;
finally
FreeAndNil(mensaje);
end;
finally
POP3.Disconnect;
end;
except
on e : Exception do
ShowMessage('error=' + e.Message);
end;
end;

不工作,响应“错误命令”

最佳答案

“好的谷歌!”

使用 Indy 10.6.2.5298 和 OpenSSL 1.0.2h、Delphi DX10(不是更新 1)测试

1) 这一行看起来不是必需的。为什么要为在设计时创建的组件设置名称?

Name := 'POP3';

2) 连接后尝试登录

POP3.Connect;
POP3.Login;

3) 如果您收到类似 EIdReplyPOP3Error 的错误消息“需要 Web 登录:https://support.google.com/mail/answer/78754,也许您必须使用 application specific密码 或在 Gmail 设置中打开 Allow less secure apps

enter image description here

关于delphi - 使用 Indy 10 检索 GMail 收件箱,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37265982/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com