Delphi Indy 10 SMTP错误“目前无法验证”
题
我正在使用此代码来邮寄Delphi Indy的测试消息。我有一个TIDSMTP,TIDMESSAGE和IDSSLIOHANDLERSOCKETESLSL;
在下面的代码中,如果我将其设置为与SSL一起使用Gmail,则可以正常工作,但是一旦我用我的CPANEL MAIL SERVER替换服务器详细信息,它就无法正常错误:
“目前无法验证”。
我在Outlook 2007中使用了相同的详细信息来设置我的帐户。这是代码
IDSSSLIOHANDLESOCKETCOPESLSL详细信息。
method := sslvsslv3
mode := sslmUnassigned
//rest default values
procedure Tfrmnotification.btnSendClick(Sender: TObject);
var
IdMsg : TIdMessage;
begin
begin
IdMsg := TIdMessage.Create(nil);
try
with TIdSMTP.Create(nil) do
try
// UserName := 'something@gmail.com';
// Password := 'pass';
// Host := 'smtp.gmail.com';
// IOHandler := IdSSLIOHandlerSocketOpenSSL;
// Port := 587;
UserName := 'something@sasra.co.za';
Password := 'password';
Host := 'outgoing server detials';// same as outlooks
IOHandler := IdSSLIOHandlerSocketOpenSSL;
Port := 465;// this is correct port
UseTLS:= utUseExplicitTLS;
IdMsg.Body.Add('test');
IdMsg.Recipients.emailAddresses := 'something@gmail.com';
IdMsg.Subject := 'test';
IdMsg.From.Address := 'something@sasra.co.za';
IdMsg.From.Name := 'john';
Connect;
Send(IdMsg);
Disconnect;
finally
Free;
end;
finally
IdMsg.free;
end;
showmessage('done');
end;
任何帮助都将被申请。
解决方案
端口465用于隐式SSL上的SMTP。您已将USETL设置为utuseexplicittls。正确的值应(很可能)为utuseimplicittls。
不隶属于 StackOverflow