【发布时间】:2018-04-09 02:26:49
【问题描述】:
我尝试从 gmail 帐户获取电子邮件数量,它第一次工作正常,之后每次都正常,只要我不断开与服务器的连接(我在断开连接之前通过调试器停止执行命令)。 但是当我执行断开连接时,我再也无法找回邮件了,邮件数一直是0。但是我在线查看时邮件还在收件箱中,我可以在线打开邮件并阅读内容,有点无法找回不再与 Indy 联系电子邮件。
这只会发生在 gmail 中,而不是我尝试过的其他电子邮件帐户。
在代码的一部分下面。 pop.CheckMessages 第一次返回 1,但是一旦我断开连接重新开始,它总是返回 0。
有人知道我做错了什么吗?就像邮件被标记了一样,无法通过电子邮件客户端再次阅读。
pop:=tidpop3.Create(nil);
pop.Host := 'pop.gmail.com';
pop.Port := 995;
pop.Username := MyUserName;
pop.Password := MyPassword;
pop.ConnectTimeout := 10000;
ssl := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
ssl.SSLOptions.Method := sslvTLSv1;
ssl.SSLOptions.Mode := sslmClient;
pop.IOHandler := ssl;
pop.UseTLS := utUseImplicitTLS;
pop.Connect;
num:=pop.CheckMessages;
pop.Disconnect;
pop.Free;
ssl.Free;
【问题讨论】: