INDY 9

Messages postés
4716
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
- - Dernière réponse : cs_cantador
Messages postés
4716
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
- 1 févr. 2008 à 18:25
Bonsoir à tous,

Du fait d'un changement de serveur de messagerie, sur la ligne suivante sous D7
(çà fonctionnait....Avant sur l'ancien serveur)
IdSMTP1.send(IdMessage1);
j'ai l'erreur suivante :
Sender address rejected: not logged in
(bien sûr les adresses email Emetteur et Destinataire sonr correctes)
nb : le nouveau serveur est un WebMail
J'ai cherché, mal cherché certainement et rien trouvé..


une idée ? (@francky, pourrait-il lacher un peu sa carte son ?)

cantador
Afficher la suite 

20/21 réponses

Messages postés
4200
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
2 janvier 2019
26
0
Merci
verifie les parametres du serveur smtp et aussi les regles de securité du dit serveur.

de plus en plus les serveurs SMTP rejette l'accés si une session valide n'est pas en cours...


Commenter la réponse de f0xi
0
Merci
Salut,

Désolé de ne répondre que maintenant : je rejoins f0xi si le probleme est survenu suite à un changement de provider c'est qu'il y a un problème dans tes paramètres. Alors :

1)Vérifie que ton provider possède bien un serveur SMTP.
2)Vérifie que le port et le SMTP sont justes.
3)Vérifie que tu dois ou non utiliser une identification (C'est le plus en plus le cas)
4)Vérifie que tes identifiants soient bon (Login et mot de passe sont les memes en général les memes que pour te connecter sur internet)
5)Vérifie que l'adresse que tu as utilisé pour l'expéditeur soit ta vraie adresse (De plus en plus de provider vérifie que le compte de l'expéditeur existe bien : pour éviter le spam).

Si le problème persiste : Essaye d'envoyer un mail via le shell en utilisant le protocole SMTP. Tu véras à quelle étape ca bloque exactement. Dans ce cas tiens nous au courant.

A++
Commenter la réponse de Utilisateur anonyme
Messages postés
4716
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
10
0
Merci
Merci à tous les deux et je pense vous avez mis le doigt dessus concernant la sécurité.
Il doit s'agir vraisemblablement d'une identification car le nouveau serveur (national) est un monstre bourré de sécurité.

Mais pour l'instant, je n'ai pas réussi à régler le souci.. les mails ne partent pas dans mon appli..
Voilà le bout de code en question :

procedure TFAffaire.EnvoiMail(EMET: string; DEST: string; TEXTE: string);
begin
  IdMessage1 := TIdMessage.Create(nil);
  IdSMTP1 := TIdSMTP.Create(nil);
  with IdMessage1 do
  begin
    CharSet := 'iso-8859-1';
    Encoding := meMIME;
    Body.Add(TEXTE);
    From.Text := EMET;
    Recipients.EMailAddresses := DEST;
    Subject := 'Message automatisé';
  end;
  IdSMTP1.Port := 25;
  IdSMTP1.Host := 'MonServeur';  // je mets le vrai nom bien sûr...

  IdSMTP1.Connect(5000);           // là çà passe tjrs..
  try
    try
      IdSMTP1.send(IdMessage1);  ->> plantage avec message d'erreur
    finally
      IdSMTP1.Disconnect;
      IdMessage1.Free;
      IdSMTP1.Free;
    end;
  except
    on e: exception do MessageDlg(e.Message, mtError, [mbOK], 0);
  end;
end;

J'ai testé l'introduction de : 
IdSMTP1.username := 'MonUserName';
IdSMTP1.password:= 'MonPassword';
en utilisant mes codes perso..

juste avant le connect, mais sans résultats..

cantador
Commenter la réponse de cs_cantador
0
Merci
Il manque un truc : la méthode d'identification AtLogin ou AtNone. Regarde si ca change quelque chose
Commenter la réponse de Utilisateur anonyme
Messages postés
4716
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
10
0
Merci
IdSMTP1.AuthenticationType := AtLogin ou

IdSMTP1.AuthenticationType : = AtNone ou

avant le send ou avant le connect..

rien.. quedal..


cantador
Commenter la réponse de cs_cantador
0
Merci
Et si tu fais avec le shell : ca bloque à quelle commande ?
Commenter la réponse de Utilisateur anonyme
Messages postés
4716
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
10
0
Merci
Si tu as déjà testé sous SMTP
merci de m'envoyer le script.

cantador
Commenter la réponse de cs_cantador
Messages postés
4716
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
10
0
Merci
précision :
C'est la sécurité SSL qui est utilisée.

cantador
Commenter la réponse de cs_cantador
0
Merci
Essaye ca dans le shell (Mais soit rapide à cause du TimeOut)

Telnet smtp.blablab.bla 25   (Soit Telnet SMTP PORT)
>>EHLO MAIL+CRLF : Si ok on recoit 250
>>AUTH LOGIN + CRLF : Si ok on recoit 334
>>LOGIN CODE EN BASE 64+ CRLF : Si ok on recoit 334
>>MOT DE PASSE CODE EN BASE 64+ CRLF : Si ok on recoit 235
>>MAIL FROM: <+ADRESSE DE L'EXPEDITEUR+>+CRLF : Si ok on recoit 250
>>RCPT TO: <+ADRESSE DU DESTINATAIRE+>+CRLF : Si ok on recoit 250
>>DATA+CRLF : Si ok on recoit 354
>>SUBJECT: UN TEST+ CRLF
>> CRLF
>>C'est juste un test+CRLF
>>  .   + CRLF //C'est un point là il est important : Si on recoit 250 le mail a été envoyé
>>Quit+CRLF : On ferme la connection si ok on recoit 221
Commenter la réponse de Utilisateur anonyme
0
Merci
Pour le codage en base 64 : utilise ce lien c'est bien pratique. Tu écrit ta string dans texte et tu cliques sur <Encode>
Commenter la réponse de Utilisateur anonyme
Messages postés
4716
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
10
0
Merci
Merci pour le lien sur le codage (très pratique)
mais la connextion (telnet smtp port 25) ne fonctionne pas..
(du moins il y a une tentative d'accroche mais pas de curseur, çà se ferme)

J'ai pensé aussi à ces dll de indy qu'il faut mettre en place..
et peut-être aussi les certificats..(On se sert de FireFox et Thunderbird)

chui in the merdia..

cantador
Commenter la réponse de cs_cantador
Messages postés
4716
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
10
0
Merci
N'y aurait-il pas la possibilité de lancer tout ton script en seule fois ?

cantador
Commenter la réponse de cs_cantador
Messages postés
4716
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
10
0
Merci
autre info : je confime SSL,
mais en revanche, pas de certifs sous FireFox..

cantador
Commenter la réponse de cs_cantador
0
Merci
Désolé je n'avais pas tilté pour le SSL : je pense que tu vas etre dans le caca :Indy ne semble rien proposer pour le protocole SSH et il ne semble pas pris en compte avec le composant IdSMTP. La seule alternative que je vois est de faire ton propre serveur SMTP afin de passer outre le SSL
Commenter la réponse de Utilisateur anonyme
0
Merci
Pardon pas SSH mais SSL désolé je suis fatigué en ce moment
Commenter la réponse de Utilisateur anonyme
Messages postés
4716
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
10
0
Merci
J'ai trouvé chez nos confrères...
http://delphi.developpez.com/faq/?page=indy_gene_bases#UtiliserSSLIndy

Mais, çà marche pas du moins m'en faudrait un peu plus pour paramétrer le compo idSSLIOHandlerSocket.

GRR..GRRRR...

cantador
Commenter la réponse de cs_cantador
Messages postés
4716
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
10
0
Merci
procedure EnvoiMail(EMET: string; DEST: string; TEXTE: string);
begin
  IdMessage1 := TIdMessage.Create(nil);
  IdSMTP1 := TIdSMTP.Create(nil);
  with IdMessage1 do
  begin
    Priority := mpHigh;
    CharSet := 'iso-8859-1';
    Encoding := meMIME;
    ContentType := 'text/html';
    Body.Add(TEXTE);
    From.Text := EMET;
    Recipients.EMailAddresses := DEST;
    Subject := 'Message automatisé;
  end;
  IdSMTP1.Port := 25;
  IdSMTP1.Host := 'MonServeur';
  IdSMTP1.Connect(5000);


  try
    IdSMTP1.IOHandler := Form1.IdSSLIOHandlerSocket1;
    IdSMTP1.AuthenticationType := AtLogin;
    IdSMTP1.Username := MonUserName;
    IdSMTP1.Password := MonPassword';
    IdSMTP1.send(IdMessage1);
  finally
    IdSMTP1.Disconnect;
  end;
  IdMessage1.Free;
  IdSMTP1.Free;
end;

A noter que maintenant, je n'ai plus de message d'erreur mais :
"la connexion s'est terminée proprement"

chui tout propre, mais rien ne part !

cantador
Commenter la réponse de cs_cantador
Messages postés
4716
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
10
0
Merci
cantador
Commenter la réponse de cs_cantador
Messages postés
4716
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
10
0
Merci
Frnacky t'es toujours là ?
Si on faisait un post sur Indy + SSL ?

cantador
Commenter la réponse de cs_cantador
Messages postés
4716
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
10
0
Merci
cantador
Commenter la réponse de cs_cantador