IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

Comment utiliser IdSMTP pour envoyer un message


Sujet :

C++Builder

  1. #1
    Membre �clair�
    Homme Profil pro
    Chercheur g�nie �lectrique
    Inscrit en
    Mai 2002
    Messages
    263
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : Chercheur g�nie �lectrique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 263
    Par d�faut Comment utiliser IdSMTP pour envoyer un message
    Bonjour,
    j'ai pris un bout de code sur le net afin d'envoyer un message e-mail.
    Le compilation est OK sous CBuilder2010, mais il se bloque lors de IdSMTP1->Connect(): erreur: "unkown[123.118.112.22]: Client Host rejected: Acces denied"

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    	IdSMTP1->Username = "[email protected]";
    	IdSMTP1->Password = "motdepassee";
    	IdSMTP1->Host = "smtp.free.fr";
    	IdSMTP1->Port = 25;
     
    	try
    		{
    		IdSMTP1->Connect();
    		IdSMTP1->Send(IdMessage1);
    		IdSMTP1->Disconnect();
    		}
    	catch(Exception &e)
    		{
    		ShowMessage(e.Message);
    		}
    Merci par avance
    Cordialement
    Xavier

  2. #2
    Membre exp�riment�

    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    288
    D�tails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2003
    Messages : 288
    Par d�faut
    C'est devenu compliqu� d'envoyer un mail (� cause des spams), les protocoles de connexion �voluent sans cesse vers plus de s�curisation et donc les classes sont rapidement obsol�tes.
    Les protocoles r�cents demandent une connexion SSL ou TLS (ne me demande pas ce que c'est je r�p�te comme un peroquet) et donc si l'objet idSMTP ne les impl�mente pas ce n'est pas surprenant que la connexion �choue.

    Une classe r�cente:
    http://www.codeproject.com/Articles/...t-with-SSL-TLS

    PJ Naughter a �galement une classe SMTP qu'il maintient r�guli�rement (je recommande ses composants):
    http://www.naughter.com/smtp.html

    L'inconv�nient des 2 solutions ci-dessus par rapport � la VCL est qu'il va falloir coder. Mais une fois ce droit d'entr�e acquis, c'est plut�t plus confortable � utiliser. Personnellement je n'utilise la VCL que pour les objets graphiques pour le reste je pr�f�re ce genre de solutions.

  3. #3
    Expert �minent
    Avatar de ShaiLeTroll
    Homme Profil pro
    D�veloppeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 089
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 44
    Localisation : France, Seine Saint Denis (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur C++\Delphi
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 089
    Par d�faut
    Pour que Username et Password soit pris en compte, ajoute cette ligne

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    IdSMTP1->AuthType = satDefault;

    Pour le SSL, Indy fourni tout le n�cessaire
    M�me si je pense que Free ne l'exige pas !

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
         IdSMTP1->IOHandler = new TIdSSLIOHandlerSocketOpenSSL(); // ne pas oublier de libérer
         IdSMTP1->UseTLS = utUseRequireTLS;
    Pense � fournir aussi une adresse email dans TIdMessage->From->Address peut acc�l�rer le routage du mail, d'ailleurs certains serveurs SMTP v�rifie la valid� de cette adresse, un serveur invalide provoquera une exception, un compte invalide pourrait nuire � l'�mission (protection usurpation d'identit�) ou � la r�ception (Anti-virus, anti-spam et anti-fishing pouvant neutraliser le mail)
    Aide via F1 - FAQ - Guide du d�veloppeur Delphi devant un probl�me - Pensez-y !
    Attention Troll M�chant !
    "Quand un homme a faim, mieux vaut lui apprendre � p�cher que de lui donner un poisson" Confucius
    Mieux vaut se taire et para�tre idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la m�diocrit� !

    L'exp�rience, c'est le nom que chacun donne � ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  4. #4
    Membre �clair�
    Homme Profil pro
    Chercheur g�nie �lectrique
    Inscrit en
    Mai 2002
    Messages
    263
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : Chercheur g�nie �lectrique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 263
    Par d�faut
    Merci tous les 2.
    En r�alit�, les codes marchent. Quand j'ai fait ma premi�re teste sur la messagerie FREE, cela ne marchait pas. En effet, je suis � l'�tranger, et le site FREE doit �tre affect� par un parefeu. Maintenant, j'utilise une messagerie locale, tout va bien.

    Ma nouvelle question: comment utiliser IdSMTP pour consulter une messagerie?
    Merci d'avance
    Xavier

  5. #5
    Expert �minent
    Avatar de ShaiLeTroll
    Homme Profil pro
    D�veloppeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 089
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 44
    Localisation : France, Seine Saint Denis (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur C++\Delphi
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 089
    Par d�faut
    Tu ne peux pas avec SMTP = Simple Mail Transfer Protocol
    Il te faut utilise POP3 = Post Office Protocol Version 3 -> TIdPOP3
    ou IMAP = Internet Message Access Protocol -> TIdIMAP4
    Aide via F1 - FAQ - Guide du d�veloppeur Delphi devant un probl�me - Pensez-y !
    Attention Troll M�chant !
    "Quand un homme a faim, mieux vaut lui apprendre � p�cher que de lui donner un poisson" Confucius
    Mieux vaut se taire et para�tre idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la m�diocrit� !

    L'exp�rience, c'est le nom que chacun donne � ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  6. #6
    Membre �clair�
    Homme Profil pro
    Chercheur g�nie �lectrique
    Inscrit en
    Mai 2002
    Messages
    263
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : Chercheur g�nie �lectrique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 263
    Par d�faut
    Merci ShaiLeTroll, je vais faire du progr�s sur les deux composants et je ferais un retour plus tard.
    A+

Discussions similaires

  1. R�ponses: 31
    Dernier message: 01/10/2009, 14h21
  2. R�ponses: 2
    Dernier message: 27/04/2006, 16h45
  3. R�ponses: 4
    Dernier message: 28/03/2005, 19h42
  4. Utiliser hylafax pour envoyer des fax
    Par ggnore dans le forum Applications et environnements graphiques
    R�ponses: 2
    Dernier message: 08/07/2004, 21h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo