我试图发送使用印地从SMTPS电子邮件(SMTP安全)和技术exaplined in this Marco Cantù article。印和SMTPS:无法连接
这是我在用的:
object SMTP: TIdSMTP
IOHandler = IdSSLIOHandlerSocketOpenSSL1
SASLMechanisms = <>
UseTLS = utUseExplicitTLS
Left = 32
Top = 196
end
和
SMTP.Host := 'smtps.pec.aruba.it';;
SMTP.Port := 465;;
SMTP.Username := '[email protected]';
SMTP.Password := 'myPassw0rd';
MailMessage.Encoding := meDefault;
MailMessage.From.Address := '[email protected]';
MailMessage.BccList.EMailAddresses := '[email protected]';
MailMessage.Subject := 'Test Mail';
MailMessage.Body.Text := 'Please ignore this mail, This is a test';
SMTP.Connect; //failure!!!
SMTP.Send(MailMessage);
我的程序挂起SMTP.Connect,但没有任何异常或有用的错误。
相反,如果不是aboe我用gmail setings作为the article所有作品解释
能否请您给的建议吗?
我有Indy 10.5.8和ssl dll与exe相同的路径。
+1谢谢,UseTLS = utUseImplicittTLS帮助,现在被执行,甚至派连接,但我不明白的电子邮件...你认为什么检查? – LaBracca 2012-07-06 16:05:05
如果服务器接受电子邮件数据没有错误(即'Send()'不会引发异常),则服务器负责发送电子邮件。如果电子邮件没有到达,那么在您断开与服务器的连接之后很长一段时间内,传送失败的可能性很大。诊断的唯一方法是检查收件箱,看看服务器是否向您发送错误消息。服务器接受之后发生的传递错误在SMTP会话之外,这就是为什么'TIdSMTP'无法向您报告它们的原因。 – 2012-07-07 07:53:34
我能够读取交付失败的邮件错误是“ccn不允许”,因为它是强制性的有一个真正的(非cc或ccn)收件人,所以我使用收件人显式,现在它的工作原理。非常感谢! – LaBracca 2012-07-10 09:40:48