Bonjour à tous,
j'essaye d'envoyer un mail avec Turbo Delphi
en créant dynamiquement les composants Indy (IdSmtp & IdMessage)
La compilation de mon code se passe bien sans erreur
mais à l'exécution rien ne va plus.
J'obtiens une notification d'exception qui indique :
5.0.0.0 Spam detected email rejected
ce que je ne comprends pas c'est que ce même programme fonctionne avec Delphi 6.
Il est vrai que les composants Indy sont dirrectement positionnés sur la fiche
et qu'ils ne sont pas créés dynamiquement comme dans Turbo Delphi 2006.
Je pense qu'on peut réaliser la même chose avec Turbo Delphi 2006 qu'avec Delphi 6
mis à part que j'ai bien compris qu'il fallait créer les composants dynamiquement
mais pourquoi cette erreur à l'exécution reste pour moi un mystère
que j'aimerai bien élucider.
Si quelqu'un a une idée ou un début de solution je suis preneur.
Merci par avance.
Voici à tout hasard mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
unit Principale2;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IdMessage, IdSmtp, IdBaseComponent, IdTCPConnection, IdComponent,
  StdCtrls, Buttons, IdAuthentication;
 
type
  TForm2 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    OpenDialog1: TOpenDialog;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Memo1: TMemo;
    procedure Button3Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;
 
var
  Form2: TForm2;
 
implementation
 
{$R *.dfm}
 
procedure TForm2.Button1Click(Sender: TObject);
var
IdMessage: TIdMessage;
IdSmtp: TIdSmtp;
begin
IdMessage:= TIdMessage.Create(Self);
IdMessage.Clear;
IdMessage.From.Address:=Edit1.Text;
IdMessage.Recipients.add.Address:=Edit2.Text;
IdMessage.Subject:=Edit4.Text;
IdMessage.Body.Assign(Memo1.Lines);
 
if (Edit3.Text='') then TIdAttachment.Create(IdMessage.MessageParts,Edit3.Text);
 
IdSmtp:= TIdSmtp.Create(self);
IdSmtp.host:='smtp.free.fr';
IdSmtp.Port:=25;
IdSmtp.Connect(5000);
try
IdSmtp.Send(IdMessage);
finally
IdSmtp.Disconnect;
MessageBox(Handle,'Message bien envoyé...','',MB_IconInformation);
IdMessage.Free;
IdSmtp.Free;
end;
 
 
 
procedure TForm2.Button2Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
  Edit3.Text:=OpenDialog1.FileName;
end;
end;
 
procedure TForm2.Button3Click(Sender: TObject);
begin
Close;
end;
 
end.