Frage

Ich verwende diesen Code, um eine Testnachricht von Delphi Indy zu mailen. Ich habe eine Tidsmtp-, TidMessage- und IDSSLIOHandlersSocketopensl;

Wenn ich ihn im folgenden Code eingerichtet habe, um Google Mail mit SSL zu verwenden, funktioniert es einwandfrei, aber sobald ich meine Details der Server durch meine CPanel Mail -Server -Detials ersetze, funktioniert es kein Fehler:

"derzeit nicht authentifizieren".

Ich habe die gleichen Details verwendet, mit denen ich mein Konto in Outlook 2007 einrichten würde. Hier ist der Code

IDSSLIOHandlersSocketOpenSSL -Details.

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;

Jede Hilfe würde Apprikation sein.

War es hilfreich?

Lösung

Port 465 wird für SMTP über implizite SSL verwendet. Sie haben USETLs auf utusexplicittls gesetzt. Der korrekte Wert sollte (höchstwahrscheinlich) utusesimplicittls sein.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top