|
Tutoriaux
- Indy - Envoyer un email |
Cette exemple permet
d'envoyer un email avec si vous le souhaitez un fichier attaché.
Pour réaliser cela, on utilise le composant TIdSMTP.
Création de la partie visuelle du programme |
Pour commencer, ajoutez dans
votre form, trois composants TGroupBox, quatre composants TEdit, quatre
composants TLabel, trois composants TButton et un TOpenDialog. Disposez
ses composants comme ci-dessous.
Ensuite, ajoutez
un composant TIdSMTP de l'onglet "Indy Clients" de la palette
de composants de Delphi et un composant TIdMessage de l'onglet "Indy
Misc".
Le composant TIdSMTP permet d'envoyer des emails sur un serveur mail
en utilisant le protocole SMTP (Simple Mail Transfer Protocol) et le
composant TIdMessage encapsule les messages Internet.
Puis, modifiez la propriété "Caption" de la
form en mettant "Envoyer un email avec TIdSMTP. Modifiez également
la propriété "Caption" des trois composants
TGroupBox ainsi que des trois composants TButton comme ci-dessus.
La partie visuelle du programme est maintenant terminé. On passe
maintenant à la partie code du programme.
Remplir les différents paramètres de l'email |
Pour envoyer un email, il faut spécifier le destinataire, l'expediteur,
le sujet (appelé également l'objet) et le corp du message.
Tout ceci correspond à un email. On peut aussi rajouter quelques
options comme par exemple la date à laquelle on expédie
le message ou encore la priorité du message.
IdMessage1.Clear;
//Efface l'entête et le corps
du message
IdMessage1.From.Text :=Edit1.Text; //Adresse
email de l'expediteur
IdMessage1.ReplyTo.EMailAddresses:=Edit1.Text; //Adresse
email où le destinataire pourra répondre
IdMessage1.Recipients.EMailAddresses:=Edit2.Text; //Adresse
email du destinataire
IdMessage1.Date:=Date; //Date de l'envoi
du message
IdMessage1.Subject:=Edit4.Text; //Sujet
du message
IdMessage1.Priority:=mpNormal; //Priorité
du message
IdMessage1.Body.Assign(Memo1.Lines); //Corps
du message |
|
Pour choisir le fichier
que l'on veut attacher, on utilise un composant TOpenDialog.
procedure
TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
Edit3.Text:=OpenDialog1.FileName; //Edit3
affiche le fichier choisit
end; |
|
Le programme va attacher un
fichier au message si il y a du texte dans le "Edit3".
if
not (Edit3.Text='') then TIdAttachment.Create(IdMessage1.MessageParts,Edit3.Text);
//Attache le fichier |
|
Pour terminer, on
se connecte au serveur SMTP grâce au composant TIdSMTP et on envoi
grâce à la méthode "Send" le message.
On pourrais également envoyer un email de façon anonyme,
c'est à dire sans spécifier le nom d'utilisateur et le
mot de passe. Pour cela, il faudrait changer le type d'authentification
par "atNone".
//Connexion
au serveur smtp
IdSMTP1.AuthenticationType:=atLogin; //Type
d'authentification
IdSMTP1.Host:='xxxx'; //Hôte
(par exemple pour Free : smtp.free.fr)
IdSMTP1.Port:=25; //Port (par exemple
pour Free : 25)
IdSMTP1.UserName:='xxxx'; //Nom d'utilisateur
IdSMTP1.Password:='xxxx'; //Mot de
passe
IdSMTP1.Connect; //Connexion
try
IdSMTP1.Send(IdMessage1); //Envoi
du message
finally
IdSMTP1.Disconnect; //Déconnexion
end; |
|
Envoyer
un email |
[ 03-08-2003 ] |
Envoie
un email avec le composant TIdSMTP de Indy.
Télécharger : [7
Ko] [
tidsmpt.zip]
Auteur : Yoann
Site internet : http://delphipage.free.fr/
|
|
|