EIdSMTPReplyError
>是针对员工和管理当局协调会服务器在员工和管理当局协调会礼宾层发出的错误信息提出的。 <代码>11004是一小笔/DNS错误,不是员工和管理当局协调会的错误。 除了基本的本组织错误信息之外,没有其他错误信息(可从<代码>获取)。 SysErrorMessage():
所要求的名称是有效的,在数据库中找到,但并没有解决正确的相关数据。
关于<代码>TIdSMTP.Send(),请参看<编码>EIdSMTPReplyError的例外情况,例如:
try
IdSMTP1.Connect;
try
IdSMTP1.Send(IdMessage1);
finally
IdSMTP1.Disconnect;
end;
except
on E: EIdSMTPReplyError do
Application.MessageBox(
PChar(
Error message: + E.Message + sLineBreak +
Error code: + IntToStr(E.ErrorCode) + sLineBreak +
Error reply: + E.EnhancedCode.ReplyAsStr
),
SMTP Error... , MB_OK + MB_ICONSTOP + MB_TOPMOST);
end;
这将有助于某些人,如果服务器支持的话 延伸的《傲慢法》可能更接近。 但是,更不时,如果看不到实际的员工和管理当局协调署指挥/对电线的交通,那么你不可能把错误的东西分开。
Regarding SSL/TLS errors in particular, one of several different things may happen, depending on your TIdSMTP
configuration:
(1) 您可获得一个一般性的<代码>EIdSocketError例外情况,如<代码>11004/code>错误。
(2) 如果你与需要普通SSL/TLS但你没有密码的服务器港连接,则你可以取得<代码>的例外情况,但正式错误代码除外。 TIdSMTP.UseTLS set to utUseImplicitTLS
。
(2) 如果你有<条码>,你可以取得<<<0>或>其他开放式特别安全法>。 分配使用TLS=utUseImplicitTLS,但服务器并不期望SSL/TLS。
3) 您的<代码>UseTLS被设定为utUseExplicitTLS
或.utRequiresTLS
和服务器支持Explicit TLS,但SSL/TLS的手法无论出于何种原因都未能取得<>TIdSMTP.OnTLSHandShakeFailed。 仅用于<代码>utUseExplicitTLS的活动。 如果活动主管没有制定<代码>VContinue=True,或你使用utRequiresTLS,你将获得一份>EIdTLSClientTLSHandShakeFailed
的例外情况。
4) 您有<代码>UseTLS, 要么是utUseExplicitTLS
,要么是?utRequiresTLS
, 服务器不支持Explicit TLS, 您将获得TIdSMTP.OnTLAvailable
, 仅用于utUseExplicitTLS
。 如果活动主管没有制定<代码>VContinue=True,或您使用utRequiresTLS,则您将获得一份EIdTLSClientTLSNotAvailable
的例外情况。