使用D7 + Indy 10最新版本.
我的代码使用TIdSMTP发送电子邮件.我一直在某些最终用户处"正常关闭连接",并且永远不会发送电子邮件.
代码如下:
try
~~~~
~~~~
_idSMTP := TIdSmtp.Create;
with _idSMTP do
begin
Host := 'myhost';
Connect;
try
Send(_EmailMsg);
Result := True;
except
on E: Exception do
begin
MsgDlgErr(Self.Handle, E.Message)
end
end;
end;
finally
_idSMTP.Disconnect;
_idSMTP.Free;
end;
Run Code Online (Sandbox Code Playgroud)
有什么建议?
Lar*_*ens 21
在http://www.swissdelphicenter.ch/en/showarticle.php?id=1上阅读所有相关内容
EIdConnClosedGracefully是一个异常信号,表明连接已故意被另一方关闭.这与导致连接重置错误的断开连接不同.如果另一方已关闭连接并且读取或写入套接字,则Indy将提出EIdConnClosedGracefully.这类似于尝试读取或写入在您不知情的情况下已关闭的文件.
在某些情况下,这是一个真正的例外,您的代码需要处理它.在其他情况下(通常是服务器),这是协议功能的正常部分,Indy会为您处理此异常.即使Indy捕获它,当在IDE中运行时,调试器将首先被触发.您只需按F9继续,Indy将处理异常,但调试期间的持续停止可能非常烦人.在Indy捕获异常的情况下,除非从IDE运行,否则您的用户将永远不会在程序中看到异常.
| 归档时间: |
|
| 查看次数: |
33343 次 |
| 最近记录: |