Turbo power internet professional : envoyer un email

Soyez le premier à donner votre avis sur cette source.

Vue 9 596 fois - Téléchargée 921 fois

Description

TurboPower Internet Professional (http://sourceforge.net/projects/tpipro/) est un ensemble de composants internet pour Delphi. On retrouve les composants permettant de travailler avec les protocoles POP3, SMTP, NNTP, FTP, HTTP.

Source / Exemple :


unit Unit1;

//Programme par Yoann
//http://delphipage.free.fr/

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, IpUtils, IpSock, IpMsg, IpSmtp;

type
  TForm1 = class(TForm)
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    GroupBox3: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Memo1: TMemo;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    OpenDialog1: TOpenDialog;
    IpSmtpClient1: TIpSmtpClient;
    procedure Button3Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure IpSmtpClient1TaskComplete(Client: TIpCustomSmtpClient;
      Task: TIpSmtpTasks);
    procedure IpSmtpClient1Error(Sender: TObject; Socket: Cardinal;
      ErrCode: Integer; const ErrStr: String);
  private
    { Déclarations privées }
    FTask,FError:Boolean; //La variable "FTask" permet de vérifier si l'email a été envoyé
    procedure Wait;
  public
    { Déclarations publiques }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button3Click(Sender: TObject);
begin
Close; //Ferme le programme
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
Edit3.Text:=OpenDialog1.FileName; //Edit affiche le fichier choisit
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Screen.Cursor:=crHourGlass; //Curseur sablier
IpSmtpClient1.Message.From :=Edit1.Text; //Adresse email de l'expediteur
IpSmtpClient1.Message.MailTo.Add(Edit2.Text); //Adresse email du destinataire
IpSmtpClient1.Message.Date:=DateToStr(Date); //Date de l'envoi du message
IpSmtpClient1.Message.Subject:=Edit4.Text; //Sujet du message
if not (Edit3.Text='') then IpSmtpClient1.AttachmentList.Add(Edit3.Text); //Attache le fichier
IpSmtpClient1.Message.EncodeBodyStrings(Memo1.Lines,''); //Corps du message
IpSmtpClient1.SendMail('xxxx',False); //Envoi du message à l'hôte (par exemple pour Free : smtp.free.fr)
//"False" permet de se déconnecter du serveur après l'envoit de l'email
Wait; //Appel la procedure "Wait"
if FError=True then ShowMessage('L''email n''a pas été envoyé.'); //Affiche un message si il y a eu une erreur
Screen.Cursor:=crDefault; //Curseur par défaut
end;

procedure TForm1.IpSmtpClient1TaskComplete(Client: TIpCustomSmtpClient;
  Task: TIpSmtpTasks);
begin
if Task = stSendMail then
FTask:=True; //Indique que l'email a été envoyé
end;

procedure TForm1.IpSmtpClient1Error(Sender: TObject; Socket: Cardinal;
  ErrCode: Integer; const ErrStr: String);
begin
//L'événement "OnError" se déclenche quand une erreur est détecté
FError:=True; //Indique qu'une erreur s'est produite
end;

procedure TForm1.Wait;
begin
FTask:=False; //Initialise la variable "FTask" à False ("FTask permet d'indiquer lorsque l'email e été envoyé")
FError:=False; //Initialise la variable "FError" à False ("FError" permet d'indiquer si il y a une erreur)
repeat //Répéter...
Sleep(100); //Attend 100ms
Application.ProcessMessages; //Interrompt l'exécution du programme pour que Windows puisse traiter la file d'attente des messages des autres programmes
until FError or FTask; //...jusqu'à ce qu'il y est une erreur ou que la tâche soit terminé
end;
end.

Conclusion :


Plus d'information sur : http://delphipage.free.fr/

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
133
Date d'inscription
mardi 24 décembre 2002
Statut
Membre
Dernière intervention
16 juin 2020

etiennedelphiman, tu as lu la description de ce code ? "TurboPower Internet Professional (http://sourceforge.net/projects/tpipro/)"

Beau Temps, Belle Mer
Messages postés
10
Date d'inscription
samedi 6 mars 2004
Statut
Membre
Dernière intervention
25 janvier 2009

Bonjour,

Il me manque les dcu IpUtils, IpSock, IpMsg et IpSmtp au lancement.

Ca vous dit quelque chose ?
Messages postés
24
Date d'inscription
jeudi 6 mars 2008
Statut
Membre
Dernière intervention
9 janvier 2009

SVP j'ai télécharger le Fichier Zip mais ça marche pas avec moi il m'envoiyé un message d'error ERROR READING FORM avec 3 choix Ignore Cancel et Igniore ALL . SVP je veux votre Aide SVP...
Messages postés
133
Date d'inscription
mardi 24 décembre 2002
Statut
Membre
Dernière intervention
16 juin 2020

j'ai teste ces composants par contre au niveau des images inclus dans un courrier en reception avec le composant IpPop3, je n'arrive pas a afficher les images, il affiche bien les couleurs et les bandeau pas image, quelqu'un aurait un tuyau. Sinon j'ai teste plusieur composant pour smtp et pop3 et c'est vrais que celui la me convient, a part le probleme d'image.

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.