我正在使用此代码来邮寄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。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top