Bonjour à Tous,
j'ai un petit probléme, je suis sur un programme qui doit envoyer des mails en HTML automatiquement depuis un BDD à des clients selon certains critéres.
je recupére donc le code HTML qui j'inclus dans un memo puis je modifie le mot 'PRENOM' par celui du client et je l'envoi, mon probléme est que j'ai un signe = qui s'ajoute dans le mail que l'ont reçoit et je n'arrive pas à l'enlever (alors que si j'envoie le mail par outlook en html....il est OK)
je créé mon memo avec le code HTML de base
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| if HTML1 <> '' then
begin
Memo1.Clear;
// Memo1.Lines.Add('<b>');
AssignFile(unFichier,Chem1+HTML1); //affecte le handle
Reset(unFichier); //ouvre le fichier
nb :=0;
repeat
ReadLn(unFichier,uneLigne); //lit une ligne
Memo1.Lines.Add(uneligne);
until Eof(unFichier);
CloseFile(unFichier);
// Memo1.Lines.Add('</b>');
end; |
je modifie le prénom dans un autre memo
Code:
1 2 3
| Memo3.Clear;
Memo3.lines := Memo1.Lines;
Memo3.Text := StringReplace(Memo3.Text,PRML1,prenom,[rfIgnoreCase]); |
et j'envoie mon Mail
Code:
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
|
procedure TForm1.MailLance(Quoi : string; Maill : String);
var
IdMessage: TIdMessage;
IdSMTP: TIdSMTP;
Message: TStrings;
i: Integer;
Fichiers: Array Of String;
begin
IdMessage := TIdMessage.Create(nil); //création dynamique du composant
IdMessage.From.Address := MailFrom;
IdMessage.Recipients.Add.Address := Maill;
IdMessage.ContentType := 'multipart/alternative'; //Message 'découpé' en plusieurs parties
IdMessage.Subject := Quoi;
Message := Memo3.Lines;
With TIdText.Create(IdMessage.MessageParts, Message) Do
ContentType := 'text/plain; charset=iso-8859-1';
with TIdText.Create(IdMessage.MessageParts, Message) do
ContentType := 'text/html; charset=iso-8859-1';
IdSMTP := TIdSMTP.Create(nil) ; //Création dynamique du composant
IdSMTP.Port := 25; //Le port SMTP standard
IdSMTP.Host := SMTPA; //Le serveur auquel se connecter
Try
Try
IdSMTP.Connect;
IdSMTP.Send(IdMessage);
except
on e: exception do MessageDlg(e.Message, mtError, [mbOK], 0);
end;
finally
IdSMTP.Disconnect;
IdSMTP.Free;
IdMessage.Free;
end;
end; |
si quelqu'un à une idée pour me sauver !!!!
MERCI d'avance.