Hoi,
Ik ben bezig met een programmaatje om html-mails mee te versturen voor nieuwsbrieven e.d. Klinkt op zich best eenvoudig en dat was het ook totdat indy (tenminste dat neem ik aan) begint te miepen. Ik maak normaal eerst een bestand aan met een zelfgebouwde (en een beetje hulp van wptools) editor, die sla ik op als html en vervolgens laad ik dat bestand weer met idmessage.body.loadfromfile.
Met het opslaan van dit bestand gaat alles nog goed. Het vage komt als ik hem ga versturen. Om een of andere reden vreet hij regels met 71 tekens niet?!
Hij vervangt dat de eerste teken(s) van de volgende regel door een '=' teken waardoor de layout verneukt wordt.
Ik heb een testprogrammaatje geschreven wat nix anders doet dan een bestand inladen in de body van een mailmessage en hierbij hetzelfde probleem.
Hieronder de code vant testprogramme (let op: ik splits een mail in een text en een html gedeelte, het text-gedeelte is nog niet geimplementeerd!)
Dan hier het bericht zoals het eruit ziet voor ik het verzend:
<html>
<head></head>
<body>
<div>line_1</div>
<div>line_2</div>
<div>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>
<div>line_3</div>
<div>line_4</div>
</body>
</html>
En zo komt het vervolgens aan:
<html>
<head></head>
<body>
<div>line_1</div>
<div>line_2</div>
<div>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>
=iv>line_3</div>
<div>line_4</div>
</body>
</html>
Iemand enig idee? Bij andere regellengtes (en ik heb er best een aantal geprobeerd) ben ik dit probleem nog niet tegengekomen..
Ik ben bezig met een programmaatje om html-mails mee te versturen voor nieuwsbrieven e.d. Klinkt op zich best eenvoudig en dat was het ook totdat indy (tenminste dat neem ik aan) begint te miepen. Ik maak normaal eerst een bestand aan met een zelfgebouwde (en een beetje hulp van wptools) editor, die sla ik op als html en vervolgens laad ik dat bestand weer met idmessage.body.loadfromfile.
Met het opslaan van dit bestand gaat alles nog goed. Het vage komt als ik hem ga versturen. Om een of andere reden vreet hij regels met 71 tekens niet?!
Hij vervangt dat de eerste teken(s) van de volgende regel door een '=' teken waardoor de layout verneukt wordt.
Ik heb een testprogrammaatje geschreven wat nix anders doet dan een bestand inladen in de body van een mailmessage en hierbij hetzelfde probleem.
Hieronder de code vant testprogramme (let op: ik splits een mail in een text en een html gedeelte, het text-gedeelte is nog niet geimplementeerd!)
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
| if OpenDialog1.Execute then
begin
IdSMTP.Host := eOutgoing.Text;
IdSMTP.Port := StrToInt(ePort.Text);
IdMessage.Clear;
IdMessage.From.Address := 'testing@test.nl';
IdMessage.Recipients.EMailAddresses := eRecepient.Text;
IdMessage.AttachmentEncoding := 'MIME';
IdMessage.Subject := 'test';
IdMessage.ContentType := 'Multipart/Alternative';
// plain text toevoegen
idtTextPart := TIdText.Create(IdMessage.MessageParts,nil);
idtTextPart.ContentType:='text/plain';
idtTextPart.Body.Add('This is the plain part of the message.');
// html-toevoegen
idtTextPart:= TIdText.Create(IdMessage.MessageParts,nil);
idtTextPart.ContentType := 'text/html';
idtTextPart.Body.LoadFromFile(OpenDialog1.FileName);
try
try
IdSMTP.Connect(1000);
IdSMTP.Send(IdMessage);
except
on E:Exception do
MessageDlg('ERROR: ' + E.Message, mtError, [mbOk], 0);
end;
finally
if IdSMTP.Connected then
IdSMTP.Disconnect;
end;
end |
Dan hier het bericht zoals het eruit ziet voor ik het verzend:
<html>
<head></head>
<body>
<div>line_1</div>
<div>line_2</div>
<div>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>
<div>line_3</div>
<div>line_4</div>
</body>
</html>
En zo komt het vervolgens aan:
<html>
<head></head>
<body>
<div>line_1</div>
<div>line_2</div>
<div>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>
=iv>line_3</div>
<div>line_4</div>
</body>
</html>
Iemand enig idee? Bij andere regellengtes (en ik heb er best een aantal geprobeerd) ben ik dit probleem nog niet tegengekomen..