質問

私はこのコードを使用して、Delphi Indyからのテストメッセージを郵送しています。 tidsmtp、tidmessage、idssliohandlersocketopensslを持っています。

以下のコードでは、GmailをSSLで使用するように設定すると正常に動作しますが、サーバーの詳細をcpanelメールサーバーの排除に置き換えるとすぐに、エラーが発生しません。

「現在認証できない」。

Outlook2007でアカウントをセットアップするために使用するのと同じ詳細を使用しました。ここにコードはあります

idssliohandlersocketopensslの詳細。

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に使用されます。 utuseexplicittlsにusetlsを設定しました。正しい値は(最も可能性が高い)utuseimplicittlsでなければなりません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top