Turbo power internet professional : envoyer un email

Soyez le premier à donner votre avis sur cette source.

Vue 10 147 fois - Téléchargée 969 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
cs_eli42 Messages postés 143 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 11 juillet 2023
19 janv. 2010 à 09:52
etiennedelphiman, tu as lu la description de ce code ? "TurboPower Internet Professional (http://sourceforge.net/projects/tpipro/)"

Beau Temps, Belle Mer
etiennedelphiman Messages postés 10 Date d'inscription samedi 6 mars 2004 Statut Membre Dernière intervention 25 janvier 2009
18 janv. 2010 à 22:42
Bonjour,

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

Ca vous dit quelque chose ?
hackerloc Messages postés 24 Date d'inscription jeudi 6 mars 2008 Statut Membre Dernière intervention 9 janvier 2009
19 mars 2008 à 17:21
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...
cs_eli42 Messages postés 143 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 11 juillet 2023
2 août 2006 à 00:47
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.