Indy 10 - 从GMail帐户发送邮件时,IdSMTP.Send()挂起 [英] Indy 10 - IdSMTP.Send() hangs when sending messages from GMail account

查看:202
本文介绍了Indy 10 - 从GMail帐户发送邮件时,IdSMTP.Send()挂起的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我正在尝试使用gmail帐户(Delphi 7,Indy 10)发送一封电子邮件,其中包含以下设置:

TIdSmtp:

  Port = 587; 
UseTLS:= utUseExplicitTLS;

TIdSSLIOHandlerSocketOpenSSL:

 code> SSLOptions.Method:= sslvTLSv1; 

一切似乎都设置好了。我得到这个回应:

 解析主机名smtp.gmail.com。 
连接到74.125.77.109。
SSL状态:之前/连接初始化
SSL状态:之前/连接初始化
SSL状态:SSLv3写客户端hello A
SSL状态:SSLv3读取服务器hello A
SSL状态:SSLv3读服务器证书
SSL状态:SSLv3读服务器完成
SSL状态:SSLv3写客户端密钥交换A
SSL状态:SSLv3写入更改密码规范A
SSL状态:SSLv3写入完成A
SSL状态:SSLv3刷新数据
SSL状态:SSLv3读取完成A
SSL状态:SSL协商成功完成
SSL状态:SSL协商成功完成
密码:name = RC4-MD5; description = RC4-MD5 SSLv3 Kx = RSA Au = RSA Enc = RC4(128)Mac = MD5
;位= 128; version = TLSv1 / SSLv3;

然后它挂起并没有完成。电子邮件不发送。可能是什么问题?

解决方案

问题很简单。我没有足够的耐心,应用程序没有挂起,有很长的超时时间。超时是设置错误的结果。


I am trying to send an e-mail using gmail account (Delphi 7, Indy 10) with these settings:

TIdSmtp:

Port = 587;
UseTLS := utUseExplicitTLS;

TIdSSLIOHandlerSocketOpenSSL:

SSLOptions.Method := sslvTLSv1;

Everything seems to be set ok. I get this response:

Resolving hostname smtp.gmail.com.
Connecting to 74.125.77.109.
SSL status: "before/connect initialization"
SSL status: "before/connect initialization"
SSL status: "SSLv3 write client hello A"
SSL status: "SSLv3 read server hello A"
SSL status: "SSLv3 read server certificate A"
SSL status: "SSLv3 read server done A"
SSL status: "SSLv3 write client key exchange A"
SSL status: "SSLv3 write change cipher spec A"
SSL status: "SSLv3 write finished A"
SSL status: "SSLv3 flush data"
SSL status: "SSLv3 read finished A"
SSL status: "SSL negotiation finished successfully"
SSL status: "SSL negotiation finished successfully"
Cipher: name = RC4-MD5; description = RC4-MD5                 SSLv3 Kx=RSA      Au=RSA  Enc=RC4(128)  Mac=MD5 
; bits = 128; version = TLSv1/SSLv3;

And then it hangs and doesn't finish. E-mail is not sent. What can be the problem?

解决方案

The problem was simple. I was not patient enough and application didn't hang, there was long timeout. The timeout was result of wrong settings.

这篇关于Indy 10 - 从GMail帐户发送邮件时,IdSMTP.Send()挂起的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆