Beste,
We hebben op een server een applicatie lopen (isapi dll, Intraweb, Delphi 10.1 Berlin met de daarbij geleverde Indy componenten).
Bij het inloggen door een consument wordt, om in te loggen met het email-adres een pincode verstuurd aan het mail-adres.
een van onze gebruikers is nu bij hun op kantoor aan het testen. Ze gebruiken hiervoor verschillende mail-adressen en versturen die via het interne netwerk, maar ook hebben ze getest met de 4G verbinding van de telefoon. In veel gevallen komt de pincode niet bij hun binnen, bij een gmail account pas na 3 uur.
Gebruik ik diezelfde mailadressen hier op mijn computer, dan is de pincode binnen een aantal ( 5 tot 10 ) ontvangen bij hun.
De vraag dus, wat de oorzaak zou kunnen zijn.
De volgende code gebruik ik:
Code:
function SendMail(const FromName, FromAddress, ToName, ToAddress, Subject: string; const Boodschap : TStringList):boolean;
var SMTP : TIdSMTP;
MSG : TIdMessage;
idSASLLogin: TIdSASLLogin;
idUserPassProvider: TIdUserPassProvider;
begin
Result := false;
MSG := TIdMessage.Create(nil);
try
with MSG.Recipients.Add do
begin
Name := ToName;
Address := ToAddress;
end;
MSG.From.Name := FromName; // bedrijfsnaam van de gebruiker
MSG.From.Address := FromAddress; // emailadres van de gebruiker
MSG.ReplyTo.EMailAddresses := FromAddress; // emailadres van de gebruiker
MSG.Body.Assign(Boodschap);
MSG.Subject := Subject;
SMTP := TIdSMTP.Create(nil);
try
SMTP.IOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(SMTP);
SMTP.UseTLS := utNoTLSSupport;// utUseExplicitTLS;
TIdSSLIOHandlerSocketOpenSSL(SMTP.IOHandler).SSLOptions.Method := sslvSSLv3;
SMTP.Host := 'retail.smtp.com';
SMTP.Port := 2525;
idSASLLogin := TIdSASLLogin.Create(SMTP);
idUserPassProvider := TIdUserPassProvider.Create(idSASLLogin);
idSASLLogin.UserPassProvider := idUserPassProvider;
idUserPassProvider.Username := 'mijn gebruikersnaam';
idUserPassProvider.Password := 'mijn toegangscode';
SMTP.AuthType := satSASL;
SMTP.SASLMechanisms.Add.SASL := idSASLLogin;
SMTP.Connect;
if SMTP.Connected then
begin
try
if SMTP.Authenticate then
begin
SMTP.Send(MSG);
Result := true;
end
else
begin
LogMelding('no authentication');
end;
finally
SMTP.Disconnect;
end;
end
else
begin
LogMelding('not connected');
end;
finally
SMTP.Free;
end;
finally
MSG.Free
end;
end;
Bookmarks