如何解决无法使用 Indy 从 Gmail 获取电子邮件
我经常使用 TIdPOP3
,而且效果很好,除了 GMail 帐户。
不知何故,它永远不起作用。我尝试了不同的组合和端口,使用和不使用 SSL,它总是返回不同的错误。
我最近的尝试是在 Gmail 上创建一个“特定于应用程序”的密码,并尝试在端口 995 上使用此密码进行连接。这次它返回“连接正常关闭”。
Resolving hostname pop.gmail.com.
Connecting to 172.217.192.108.
Connected.
disconnected.
Connection Closed Gracefully.
我也试过这个:
popb.Host := 'pop.gmail.com';
popb.username := 'myacount@gmail.com';
popb.password := 'mypassword';
popb.Port := 995;
popb.IOHandler := sslpop;
popb.UseTLS := utUseImplicitTLS;
with sslpop do
begin
Destination := 'pop.gmail.com:995';
Host := 'pop.gmail.com';
Port := 995;
DefaultPort := 0;
end;
使用 SSL 连接时出错。错误:00000006:lib(0):func(0):EVP lib
我尝试获取的这个特定帐户具有两步验证;这是否使它无法与 Indy 一起使用?
解决方法
我可以通过设置 Ssloptions.Method := sslvSSLv23 来解决这个问题。
这是完整的工作代码:
pop.Host := 'pop.gmail.com';
pop.username := 'myemail@gmail.com';
pop.password := 'mypassword';
pop.Port := 995;
pop.IOHandler := sslpop;
pop.UseTLS := utUseImplicitTLS;
with sslpop do
begin
Destination := 'pop.gmail.com:995';
Ssloptions.Method := sslvSSLv23;
Host := 'pop.gmail.com';
Port := 995;
DefaultPort := 0;
end;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。