Delphi + Indy: fermeture de la Connexion avec élégance
À l'aide de D7 + Indy 10 dernière version.
Mon code est à l'aide de TIdSMTP pour envoyer l'email.
Je reçois des "fermeture de la Connexion gracieusement" à certains utilisateurs finals, et l'e-mail n'est jamais envoyé.
Le code est comme:
try
~~~~
~~~~
_idSMTP := TIdSmtp.Create;
with _idSMTP do
begin
Host := 'myhost';
Connect;
try
Send(_EmailMsg);
Result := True;
except
on E: Exception do
begin
MsgDlgErr(Self.Handle, E.Message)
end
end;
end;
finally
_idSMTP.Disconnect;
_idSMTP.Free;
end;
Des conseils?
OriginalL'auteur Atlas | 2009-07-06
Vous devez vous connecter pour publier un commentaire.
Lire tout ça sur http://www.swissdelphicenter.ch/en/showarticle.php?id=1
Certains virusscanners bloquer les connexions sortantes sur le port SMTP de nos jours. Cela peut entraîner la connexion à ne pas répondre et de se débarrasser de cette erreur.
C'est pourquoi il est dit "Dans certains cas..." 🙂 La page qui parle aussi de l'autre cas.
Le serveur peut aussi être de la déconnexion de la connexion sur sa fin si une erreur est détectée dans le message de données ou de l'expéditeur/destinataire adresses.
OriginalL'auteur Lars Truijens
Dans mon cas, l'erreur a été causé parce que j'ai utilisé une adresse email de l'expéditeur d'un domaine différent de celui hébergé par le serveur smtp, c'est pourquoi le smtp serveur a rejeté la connexion.
OriginalL'auteur Toni
Dans mon expérience, dans le cas de l'AT&T serveur, il rejette une adresse email qui n'est pas
@att.net
adresse dans laMAIL FROM
. Plus d'informations peuvent être déterminés par l'enregistrement de l'erreur à l'aide deTIdLogEvent
pour ces utilisateurs qui reçoivent, sinon le rapport d'erreur est plutôt vague - si la déconnexion (fermeture de la Connexion gracieusement) se produit juste après laMAIL FROM
alors il peut indiquer un serveur de politique rejetant un e-mail avec le domaine dont il n'a pas d'accueil comme l'a expliqué Toni.Sinon, la "fermeture de la Connexion gracieusement" erreur signifie qu'une tentative est faite pour lire/écrire dans la prise femelle qui a été fermé par les pairs intentionnellement - dans votre cas, par les pairs est le serveur SMTP que vous vous connectez. Il est différent de celui de la "Connexion réinitialisée" d'erreur qui indique une coupure de connexion. Dans les deux cas, la connexion n'est plus présent et vous ne pouvez pas lire/écrire de plus.
OriginalL'auteur Coder12345