Accueil > > > TURBO POWER INTERNET PROFESSIONAL : ENVOYER UN EMAIL
TURBO POWER INTERNET PROFESSIONAL : ENVOYER UN EMAIL
Information sur la source
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
- 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.
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/
Sources du même auteur
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE?COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE? par Matthieu MEZIL
Avec EF, les vues doivent être mappées sur des entity types. Le problème c'est que les entity types doivent avoir une clé. Avec EF, nous avons les complex type qui n'ont pas de clé mais les vues ne peuvent pas être mappées dessus. Avec EF4, il est possibl...
Cliquez pour lire la suite de l'article par Matthieu MEZIL [WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL?[WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL? par JeremyJeanson
Certain d'entre vous on peut être vécu cette situation embarrassante après quelques temps passer avec WF4 : Au début avec mon " ActivityDesigner" , tout allait bien. Et puis un jour j'ai au des problèmes de " Binding" . Alors nous sommes allé sur le site ...
Cliquez pour lire la suite de l'article par JeremyJeanson MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ?MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ? par junarnoalg
La prochaine session de MyTIC aura lieu à Namur, le 23 mars prochain. Pendant presque une heure, nous parlerons de SharePoint 2010. Voici un aperçu du programme.
Accueil : 17h30 Début de la session : 18h00 - Les nouvelles int...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
QREPORT QREPORT par lounnaci
Cliquez pour lire la suite par lounnaci
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|