Envoyer un mail avec les composants indy

Soyez le premier à donner votre avis sur cette source.

Vue 10 436 fois - Téléchargée 1 522 fois

Description

Petit programme permettant d'envoyer des mails à partir des composants Indy.
Ces composants sont téléchargeables ici : http://www.nevrona.com/Indy/

Source / Exemple :


with IdMessage1 do
  begin
  IdMessage1.Body.Assign(Memo1.Lines);
  IdMessage1.From.Text := Edit1.Text;
  IdMessage1.Recipients.EMailAddresses := Edit1.Text;
  IdMessage1.Subject := Edit5.Text;
  IdSMTP1.AuthenticationType := atLogin;
  IdSMTP1.UserID :=  Edit3.Text;
  IdSMTP1.Password := MaskEdit1.Text;
  end;
  IdSMTP1.Host :=  Edit4.Text;
  IdSMTP1.Port := 25;

  StatusBar1.Panels[0].Text := 'Connection au serveur ...';
   IdSMTP1.Connect;
   try
    IdSMTP1.Send(IdMessage1);
   finally
    IdSMTP1.Disconnect;
   end;
  StatusBar1.Panels[0].Text := 'Message envoyer !';

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Grandalleau
Messages postés
4
Date d'inscription
samedi 8 mars 2008
Statut
Membre
Dernière intervention
2 juillet 2008
-
Bonjour,
Avec Delphi 2009, les 2 lignes:
IdSMTP1.AuthenticationType := atLogin;
IdSMTP1.UserID := Edit3.Text;
sont rejetées. Toutes mes tentatives pour corriger sont veines.
J'ai essayé:
iDSMPT1.AuthType:= atLogin;
idSMTP1.Username:=Edit3.text;
Ca ne marche pas. Quelle est la solution?
Merci d'avance.
nethacker
Messages postés
293
Date d'inscription
mardi 2 mai 2006
Statut
Membre
Dernière intervention
12 octobre 2011
-
re salut,
j'ai trouvé un autre probleme sur ta source !

----------------------------------------------------
* with IdMessage1 do
* begin
* IdMessage1.Body.Assign(Memo1.Lines);
* IdMessage1.From.Text := Edit1.Text;
* IdMessage1.Recipients.EMailAddresses := Edit1.Text;
* IdMessage1.Subject := Edit5.Text;
* IdSMTP1.AuthenticationType := atLogin;
* IdSMTP1.username := Edit3.Text; //remplacer userid par username !!!
* IdSMTP1.Password := MaskEdit1.Text;
* end;
* IdSMTP1.Host := Edit4.Text;
* IdSMTP1.Port := 25;
*
* StatusBar1.Panels[0].Text := 'Connection au serveur ...';
* IdSMTP1.Connect;
* try
* IdSMTP1.Send(IdMessage1);
* finally
* IdSMTP1.Disconnect;
* end;
* StatusBar1.Panels[0].Text := 'Message envoyé !'; //envoyé et non pas envoyer ! c'est le passé mon pote !

-------------------------------------------------------------------
nethacker
Messages postés
293
Date d'inscription
mardi 2 mai 2006
Statut
Membre
Dernière intervention
12 octobre 2011
-
exactement l'adresse email c'est pas la meme chose que le texte !!!
ni69
Messages postés
1418
Date d'inscription
samedi 12 juin 2004
Statut
Membre
Dernière intervention
5 juillet 2010
8 -
J'ai repéré une erreur dans ton code...

IdMessage1.Recipients.EMailAddresses := Edit1.Text;
doit être remplacé par : IdMessage1.Recipients.EMailAddresses := Edit2.Text;
sinon ça envoie le courrier à celui qui l'écrit...

@+
Nico
achovovich
Messages postés
17
Date d'inscription
mercredi 7 août 2002
Statut
Membre
Dernière intervention
4 janvier 2006
-
juste pour signaler que ton with ne sert a rien dans ce cas, non?

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.