[perl] lege .html attachments

Pagina: 1
Acties:
  • 163 views sinds 30-01-2008
  • Reageer

  • sharkzor
  • Registratie: Maart 2000
  • Laatst online: 17-04 09:36
ik heb een vreemd probleem.
ik sleutel aan een bestaand crm systeem (gebouwd in perl script onder asp ofzo, rare constructie)
en heb nu sendmail gebruikt om een .html factuurtje door te mailen naar de klant. het rare is dat deze .html soms leeg is. stuur ik m naar mezelf (xs4all) dan komt het prima aan, maar naar sommige mensen, ook naar een collega op de zaak, komt hij gewoon leeg aan. echt vreemd.
iemand een idee?

Verwijderd

Wat gebeurd er als je de html file als body weergeeft in je mail (dus niet als attachment).

  • sharkzor
  • Registratie: Maart 2000
  • Laatst online: 17-04 09:36
Verwijderd schreef op vrijdag 18 november 2005 @ 11:57:
Wat gebeurd er als je de html file als body weergeeft in je mail (dus niet als attachment).
dat lukte me zoiezo niet goed (gare documentatie.... weinig voorbeelden ook te vinden).
het rare is, ik zend hem een regel eronder nog naar een ander mail adres (hoe ik cc kan doen heb ik nogsteeds niet gevonden, dus dan maar 2x zenden) en daar komt hij dan wel goed aan. lijkt soms random te gebeuren. snap er niks van, is toch echt steeds hetzelfde bestand

hieronder de code. het is nog niet netjes, maar goed.... eerst maar eens werkend krijgen. het is een aanpassing op de code die we normaal gebruiken om facturen mee uit te printen (poept gewoon html uit).
dus ik heb alles naar een bestand laten schrijven en dat bestand door laten mailen. zou toch goed moeten zijn?

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
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
<%@ LANGUAGE = PerlScript%>
<%
   use Win32::ESS::2controlConfig;
   use Win32::ASP;
   use Win32::ESS::application;
   use Win32::ESS::database;
   use Win32::ESS::common;
   use CGI qw(:standard);
   use Time::Local 'timelocal_nocheck';
   use POSIX;
   use MIME::QuotedPrint;
   use MIME::Base64;
   use Mail::Sendmail 0.75; # doesn't work with v. 0.74!

   &EasyCRMconfigRef(Win32::ESS::2controlConfig->new());
   @userinfo = checkId(GetFormValue('id')); # check the userid on correctness, and update the login-time

    $bestand = "E:/2control/Financien/export/factuur". GetFormValue('projectId') .".html";
    #bestand openen
    open OUTPUT, ">$bestand" or die "export: $!";
#paarden middel
#geeft anders het bovenste gedeelte niet weer
#gaar
    print OUTPUT "\n";
    print OUTPUT "\n";
    print OUTPUT "\n";
    print OUTPUT "\n";
    print OUTPUT "\n";
    print OUTPUT "\n";
    print OUTPUT "\n";
    print OUTPUT "\n";
    print OUTPUT "\n";
    print OUTPUT "\n";
    print OUTPUT "\n";
    print OUTPUT "\n";
    print OUTPUT "\n";
    print OUTPUT "\n";
    print OUTPUT "\n";
    print OUTPUT "\n";
    print OUTPUT "\n";
    print OUTPUT "\n";
    print OUTPUT "\n";
    print OUTPUT "\n";
    print OUTPUT "\n";
    print OUTPUT "\n\n\n\n\n\n\n\n\n\n\n\n\n\n";



--- hier staan een berg queries om data op te vragen

 print OUTPUT "<style>\n";
 print OUTPUT "\.header0\n";
 print OUTPUT "{font-family: Tahoma\;\n";
 print OUTPUT " font-size:   24.0pt\;\n";
 print OUTPUT " font-weight: bold\;}\n";


 print OUTPUT "\.header1\n";
 print OUTPUT "{font-family: Tahoma\;\n";
 print OUTPUT "font-size:   16.0pt\;\n";
 print OUTPUT "font-weight: bold\;}\n";
 print OUTPUT "\.header2\n";
 print OUTPUT "{font-family: Tahoma\;\n";
 print OUTPUT "font-size:   12\.0pt\;\n";
 print OUTPUT "font-weight: bold\;}\n";
 print OUTPUT "\.header3\n";
 print OUTPUT "{font-family: Tahoma\;\n";
 print OUTPUT "font-size:   12.0pt\;}\n";
 print OUTPUT "\.header4\n";
 print OUTPUT "{font-family: Tahoma\;\n";
 print OUTPUT "font-size:   8.0pt\;}\n";
 print OUTPUT "\.header5\n";
 print OUTPUT "{font-family: Tahoma\;\n";
 print OUTPUT "font-size:   10.0pt\;}\n";
 print OUTPUT "\.underline\n";
 print OUTPUT "{font-family: Tahoma\;\n";
 print OUTPUT "font-size:   8.0pt\;\n";
 print OUTPUT "border-bottom: 1px solid black\;\n";
 print OUTPUT "overflow-x: hidden\;\n";
 print OUTPUT "z-index: 11\;}\n";
 print OUTPUT "\.footnote\n";
 print OUTPUT "{font-family: Tahoma\;\n";
 print OUTPUT "font-size:   7\.0pt\;\n";
 print OUTPUT "overflow-x: hidden\;}\n";
 print OUTPUT "</style>\n";

 print OUTPUT "<BODY ID=thisbody STYLE=\"background-color: transparent\;\">\n";

 print OUTPUT "<HR NOSHADE COLOR=black STYLE=\"position: absolute\; top: 60\; left: 1\; width: 750\; height: 2\; z-index: 11\;\">\n";
 print OUTPUT "[img]\"http://www\.uvis\.nl/temp/black.gif\"[/img]\n";
 print OUTPUT "[img]\"http://www\.uvis\.nl/temp/title.jpg\"[/img]\n";

 #<!-- first page -->
 print OUTPUT "<TABLE STYLE='border: 1px white solid\; position: absolute\; left: 0\; top: 0\; width: 750\; height: 1065\; z-index=-1\;'>\n";
 print OUTPUT "<TR><TD VALIGN=top>\n";
 print OUTPUT "<TABLE WIDTH=100% BORDER=0 CELLSPACING=0 CELLPADDING=0>\n";
 print OUTPUT "<TR><TD ROWSPAN=6 WIDTH=45></TD><TD WIDTH=410 COLSPAN=2>&nbsp\;</TD><TD VALIGN=top CLASS=header4>\n";

 print OUTPUT "<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0>\n";
 print OUTPUT "<TR><TD CLASS=header4><B>Telefoon: </B></TD><TD WIDTH=90 CLASS=header4>[img]\"http://www\.uvis\.nl/temp/black.gif\"[/img] 033 - 25 406 30</TD><TD CLASS=header4>Penningweg 4</TD></TR>\n";
 print OUTPUT "<TR><TD CLASS=header4><B>Fax: </B></TD><TD WIDTH=110 CLASS=header4>[img]\"http://www\.uvis\.nl/temp/black.gif\"[/img] 033 - 25 406 31</TD><TD CLASS=header4>3871 KS Hoevelaken</TD></TR>\n";
 print OUTPUT "<TR><TD CLASS=header4><B>K\.v\.K\.: </B></TD><TD WIDTH=110 CLASS=header4>[img]\"http://www\.uvis\.nl/temp/black.gif\"[/img] 32077428</TD><TD CLASS=header4><B>Email: </B> info@2control.nl</TD></TR>\n";
 print OUTPUT "<TR><TD CLASS=header4><B>BTW: </B></TD><TD WIDTH=110 CLASS=header4>[img]\"http://www\.uvis\.nl/temp/black.gif\"[/img] NL 1924\.35\.309\.B01</TD><TD CLASS=header4><B>ABN Amro bank: </B> 56 05 55 210</TD></TR>\n";
 print OUTPUT "</TABLE>\n";
 print OUTPUT "</TD></TR>\n";
 print OUTPUT "<TR><TD COLSPAN=4>\n";
 print OUTPUT "<TABLE WIDTH=100% BORDER=0 CELLSPACING=0 CELLPADDING=1>\n";
 print OUTPUT "<TR><TD CLASS=header0><BR>";

                                              if(GetFormValue('typeOfLetter') eq "reminderLetter")          {print OUTPUT "Herinnering";}
                                              elsif(GetFormValue('typeOfLetter') eq "exhortation")          {print OUTPUT "Aanmaning";}
                                              else                                                          {print OUTPUT "Factuur";}


print OUTPUT "<BR><BR>\n";
print OUTPUT "<TABLE WIDTH=100% BORDER=0 CELLSPACING=0 CELLPADDING=0>\n";
print OUTPUT "<TR><TD CLASS=header3 WIDTH=375>";
if(uc($projectInfo[2]) ne uc($projectInfo[1])) {print OUTPUT uc($projectInfo[2]);}
print OUTPUT "</TD><TD CLASS=header4><B>Datum: </B></TD><TD CLASS=header4 ALIGN=right>$currentDate</TD><TD ROWSPAN=5 WIDTH=75>&nbsp\;</TD></TR>\n";
print OUTPUT "<TR><TD CLASS=header3>";
print OUTPUT uc($projectInfo[1]);
print OUTPUT "</TD><TD CLASS=header4><B>Uiterste betaaldatum: </B></TD>\n";

                        if (GetFormValue('typeOfLetter') eq "machteging")
                        {
                        print OUTPUT "<TD CLASS=header4 ALIGN=right>-";
                        }
                        elsif (GetFormValue('typeOfLetter') eq "credit")
                        {
                        print OUTPUT "<TD CLASS=header4 ALIGN=right>-";
                        }
                        else
                        {
                        print OUTPUT "<TD CLASS=header4 ALIGN=right>"."$endDay";
                        }
 print OUTPUT "</TD></TR>\n";
 print OUTPUT "<TR><TD CLASS=header3>";
 print OUTPUT uc($projectInfo[3]);
 print OUTPUT "</TD><TD CLASS=header4><B>Klantnummer: </B></TD><TD CLASS=header4 ALIGN=right>$projectInfo[7]</TD></TR>\n";
 print OUTPUT "<TR><TD CLASS=header3>";
 print OUTPUT uc($projectInfo[4]);
 print OUTPUT "</TD><TD CLASS=header4><B>Factuurnummer: </B></TD><TD CLASS=header4 ALIGN=right>$projectInfo[0]</TD></TR>\n";
 print OUTPUT "<TR><TD CLASS=header3 COLSPAN=3><BR><BR><BR></TD></TR>\n";
 print OUTPUT "</TABLE>\n";
 print OUTPUT "<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0>\n";
 print OUTPUT "<TR><TD WIDTH=55 ALIGN=right CLASS=header5><B>Artikel</B></TD><TD WIDTH=15>&nbsp\;</TD><TD WIDTH=280 CLASS=header5><B>Omschrijving</B></TD><TD WIDTH=60 ALIGN=left CLASS=header5><B>Datum</B></TD><TD WIDTH=45 ALIGN=right CLASS=header5><B>Garantie</B></TD><TD WIDTH=55 ALIGN=right CLASS=header5><B>Aantal</B></TD><TD WIDTH=85 ALIGN=right CLASS=header5><B>Prijs/eenh\.</B></TD><TD WIDTH=70 ALIGN=right CLASS=header5><B>Bedrag</B></TD></TR>\n";
 print OUTPUT "<TR><TD COLSPAN=8><HR NOSHADE COLOR=black></TD></TR>\n";

                             #$invoiceLineCounter = 0;
                            ###
                            #hier printen die meuk



                              for($i=0; $i<$teller; $i++)
                              {
                                print OUTPUT "<TR><TD CLASS=header5 ALIGN=right>$producten[$i][0]</TD>\n";
                                print OUTPUT "<TD>&nbsp;</TD>\n";
                                print OUTPUT "<TD CLASS=header5>$producten[$i][1]</TD>\n";
                                print OUTPUT "<TD CLASS=header5>"."$producten[$i][4]-$producten[$i][3]-$producten[$i][2]"."</TD>\n";
                                if($producten[$i][8]>0)
                                { print OUTPUT "<TD CLASS=header5 ALIGN=right>$producten[$i][8]</TD>\n"; }
                                else
                                { print OUTPUT "<TD>&nbsp;</TD>\n";}
                                print OUTPUT "<TD ALIGN=right CLASS=header5>$producten[$i][5]</TD>\n";
                                print OUTPUT "<TD ALIGN=right CLASS=header5><TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100% ><TR>\n";
                                print OUTPUT "<TD CLASS=header5 ALIGN=left>&nbsp\;&nbsp\;&nbsp\; € </TD>\n";
                                $prijs = &beautifyDigit($producten[$i][6]);
                                print OUTPUT "<TD ALIGN=right CLASS=header5>$prijs</TD></TR></TABLE>\n";
                                print OUTPUT "</TD><TD CLASS=header5 ALIGN=right><TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100% ><TR><TD CLASS=header5 ALIGN=left>&nbsp\;&nbsp\;&nbsp\; € </TD>\n";
                                $totprijs = &beautifyDigit($producten[$i][7]);
                                print OUTPUT "<TD ALIGN=right CLASS=header5>$totprijs</TD></TR></TABLE></TD></TR>\n";
                              }

                            $invoiceLineCounter += 3;
                            while($invoiceLineCounter < 25) {
                               print OUTPUT "<TR><TD COLSPAN=8>&nbsp;</TD></TR>\n";
                               $invoiceLineCounter++;
                            }

                           $totalIncVATcopy = &beautifyDigit($totalIncVAT);
                           $totalIncVATcopy =~ s/,/\./;
                           $totalIncVATcopy =~ s/, --$//;
                           $totalVATcopy = $totalIncVAT - ($totalIncVAT/1.19);

                           $totalVATcopy = sprintf("%.2f",$totalVATcopy);
                           $totalVATcopy =~ s/,/\./;
                           $totalVATcopy =~ s/, --$//;


                           #$totalExcVAT = $totalIncVATcopy - $totalVATcopy;
                           $totalExcVAT = $totalIncVAT/1.19;
                           $totalExcVAT = sprintf("%.2f",$totalExcVAT);
                           $totalExcVAT =~ s/,/\./;
                           $totalExcVAT =~ s/, --$//;



print OUTPUT "<TR><TD CLASS=header5 COLSPAN=4 ROWSPAN=2>\n";
print OUTPUT "<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0>\n";
print OUTPUT "<TR><TD CLASS=header5>Totaal excl\. BTW: </TD><TD CLASS=header5 WIDTH=20>&nbsp\;</TD><TD ALIGN=right CLASS=header5><TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100% ><TR><TD CLASS=header5 ALIGN=left> <B>€</B> </TD><TD ALIGN=right CLASS=header5><B>$totalExcVAT</B></TD></TR></TABLE></TD></TR>\n";
print OUTPUT "<TR><TD CLASS=header5>19% BTW: </TD><TD CLASS=header5 WIDTH=20>&nbsp\;</TD><TD ALIGN=right CLASS=header5><TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100% ><TR><TD CLASS=header5 ALIGN=left> <B>€</B> </TD><TD ALIGN=right CLASS=header5><B>$totalVATcopy</B></TD></TR></TABLE></TD></TR>\n";
print OUTPUT "</TABLE>\n";
print OUTPUT "</TD><TD COLSPAN=4>&nbsp\;</TD></TR>\n";
print OUTPUT "<TR><TD CLASS=header5 COLSPAN=3 ALIGN=center><B>Totaal te betalen: </B></TD><TD ALIGN=right CLASS=header5 STYLE=\"border-top: 2px solid black\;\"><TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100% ><TR><TD CLASS=header5 ALIGN=left> <B>€</B> </TD><TD ALIGN=right CLASS=header5><B>";
print OUTPUT &beautifyDigit($totalIncVAT);
print OUTPUT "</B></TD></TR></TABLE></TD></TR>\n";

if(GetFormValue('typeOfLetter') eq "partiallyPaidInvoice")
{
    $paidAmount = GetFormValue('paidAmount');

print OUTPUT "<TR><TD CLASS=header5 COLSPAN=4>&nbsp\;</TD><TD CLASS=header5 COLSPAN=2><B>Reeds betaald: </B></TD><TD ALIGN=right CLASS=header5><TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100% ><TR><TD CLASS=header5 ALIGN=left> <B>€</B></TD><TD ALIGN=right CLASS=header5><B>";
print OUTPUT &beautifyDigit($paidAmount);
print OUTPUT "</B></TD></TR></TABLE></TD></TR>\n";
print OUTPUT "<TR><TD CLASS=header5 COLSPAN=4>&nbsp\;</TD><TD CLASS=header5 COLSPAN=2><B>Nog te betalen:</B></TD><TD ALIGN=right CLASS=header5 STYLE=\"border-top: 2px solid black\;\"><TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100% ><TR><TD CLASS=header5 ALIGN=left> <B>€</B></TD><TD ALIGN=right CLASS=header5><B>";
print OUTPUT &beautifyDigit($totalIncVAT - $paidAmount);
print OUTPUT "</B></TD></TR></TABLE></TD></TR>\n";

}

 print OUTPUT "</TABLE>\n";
 print OUTPUT "</TD></TR>\n";
 print OUTPUT "<TR><TD CLASS=header3>\n";
 print OUTPUT "</UL></TD></TR>\n";
 print OUTPUT "<TR><TD CLASS=header3><BR><BR>\n";

    if(GetFormValue('typeOfLetter') eq "reminderLetter") {
       print OUTPUT "Volgens onze administratie heeft u nog steeds een bedrag van <B>";
       print OUTPUT $totalIncVAT;
       print OUTPUT ",-- </B> bij ons open staan.<BR><BR>";
       print OUTPUT "U wordt verzocht het te betalen bedrag vóór <B>";
       print OUTPUT $endDay;
       print OUTPUT "</B> over te maken<BR> op ons bankrekeningnummer <B>56.05.55.210</B> ten name van <B>2control</B> te <B>Hoevelaken</B>, ";
       print OUTPUT "met betalingskenmerk: <B>Factuur ";
       print OUTPUT $projectInfo[0];
       print OUTPUT "</B><BR><BR>Mocht u inmiddels opdracht tot betaling hebben gegeven, dan verzoeken wij u dit schrijven als niet verzonden te beschouwen.";

    }
    elsif(GetFormValue('typeOfLetter') eq "exhortation") {
       print OUTPUT "Graag willen wij u erop wijzen dat <B>";
       print OUTPUT $totalIncVAT;
       print OUTPUT ",-- </B> nog bij ons open staat. De betalingstermijn<BR> is verstreken.<BR><BR>";
       print OUTPUT "Wij verzoeken u voor de laatste maal om het te betalen bedrag vóór ";
       print OUTPUT $endDay;
       print OUTPUT "</B> over te maken<BR> op ons bankrekeningnummer <B>56.05.55.210</B> ten name van <B>2control</B> te <B>Hoevelaken</B>, ";
       print OUTPUT "met betalingskenmerk: <B>Factuur ";
       print OUTPUT $projectInfo[0];
       print OUTPUT "<BR><BR></B>Bij nalatigheid van betaling zal deze factuur uit handen gegeven worden aan een gerechtsdeurwaarder.";
    }
    elsif(GetFormValue('typeOfLetter') eq "partiallyPaidInvoice") {
       print OUTPUT "Eventuele garantie staat achter het product, genoteerd in het aantal maanden vanaf factuurdatum.<BR><BR>";
       print OUTPUT "U wordt verzocht het te betalen bedrag vóór <B>";
       print OUTPUT $endDay;
       print OUTPUT "</B> over te maken op ons bankrekeningnummer <B>56.05.55.210</B> ten name van <B>2control</B> te <B>Hoevelaken</B>, ";
       print OUTPUT "met betalingskenmerk: <B>Factuur ";
       print OUTPUT $projectInfo[0];
       print OUTPUT " </B>";
    }
    elsif(GetFormValue('typeOfLetter') eq "credit") {
       print OUTPUT "U kunt het totaalbedrag van <B>€ ";
       print OUTPUT $totalIncVAT;
       print OUTPUT ",-- </B>verrekenen met andere openstaande facturen, u wordt verzocht het betalingskenmerk: <B>Factuur ";
       print OUTPUT $projectInfo[0];
       print OUTPUT "</B> bij de betaling te vermelden.";

    }
    elsif(GetFormValue('typeOfLetter') eq "machteging") {
       print OUTPUT "Eventuele garantie staat achter het product, genoteerd in het aantal maanden vanaf factuurdatum.<BR><BR>";
       print OUTPUT "Het totaalbedrag van € ";
       print OUTPUT $totalIncVAT;
       print OUTPUT ",-- wordt omstreeks ";
       print OUTPUT $currentDate;
       print OUTPUT " automatisch afgeschreven van uw rekening door middel van een eenmalige machtiging.";
    }
    elsif(GetFormValue('typeOfLetter') eq "machtegong") {
       print OUTPUT "Aangezien het incasseren door middel van ons machtigingsformulier niet is gelukt, verzoeken wij u ";
       print OUTPUT "alsnog het te betalen bedrag van <B>";
       print OUTPUT $totalIncVAT;
       print OUTPUT ",-- </B> voor <B>";
       print OUTPUT $endDay;
       print OUTPUT "</B> over te maken op ons ";
       print OUTPUT "bankrekeningnummer <B>56.05.55.210</B> ";
       print OUTPUT " ten name van <B>2control</B> te <B>Hoevelaken</B>, met betalingskenmerk: <B>Factuur ";
       print OUTPUT $projectInfo[0];
       print OUTPUT ".</B>";
    }
    else {
       print OUTPUT "Eventuele garantie staat achter het product, genoteerd in het aantal maanden vanaf factuurdatum.<BR><BR>";
       print OUTPUT "U wordt verzocht het te betalen bedrag vóór <B>";
       print OUTPUT $endDay;
       print OUTPUT "</B> over te maken op ons bankrekeningnummer <B>56.05.55.210</B> ten name van <B>2control</B> te <B>Hoevelaken</B>, ";
       print OUTPUT "met betalingskenmerk: <B>Factuur ";
       print OUTPUT $projectInfo[0];
       print OUTPUT " </B>";
    }

print OUTPUT "\n";
print OUTPUT "</TD></TR>\n";
print OUTPUT "</TABLE>\n";
print OUTPUT "</TD></TR>\n";
print OUTPUT "</TABLE>\n";
print OUTPUT "</TD></TR>\n";
print OUTPUT "</TABLE>\n";
close OUTPUT;

$email = GetFormValue('emailadres');
$fid = GetFormValue('projectId');
%mail = (
         from => 'Info@domeijn.nl',
         to => "$email",
         subject => "Factuurnummer $fid bedrijf",
         smtp => 'mail.2control.nl',
        );


$boundary = "====" . time() . "====";
$mail{'content-type'} = "multipart/mixed; boundary=\"$boundary\"";

#$message = encode_qp( "Bijgevoegd uw factuur" );
$message = "Bijgevoegd uw factuur";


open (F, $bestand) or die "Cannot read $bestand: $!";
binmode F; undef $/;
$mail{body} = encode_base64(<F>);
close F;

$boundary = '--'.$boundary;
$mail{body} = <<END_OF_BODY;
$boundary
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

$message
$boundary
Content-Type: application/octet-stream; name="@bestand"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="Factuur.html"

$mail{body}
$boundary--
END_OF_BODY

if($email ne "")
{
sendmail(%mail) || print "Error: $Mail::Sendmail::error\n";
$mail{to} = 'factuur@domein.nl';
sendmail(%mail) || print "Error: $Mail::Sendmail::error\n";

        $SQLquery = "UPDATE project
        SET    creditnumber = ". GetFormValue('projectId') ."
              ,      invoice = 1
              ,      timestampUpdate = '". &normalDate2AccessDate() ."'
              ,      timestampSend = '". &normalDate2AccessDate() ."'
              WHERE  ID = ". GetFormValue('projectId');
       #&executeSQLsis(GetFormValue('id'),$ODBCconnectionName,$SiSdatabaseLogin,$SiSdatabasePassword,$SQLquery);

    unlink($bestand);
    $Response->Redirect("bookkeepingLink.asp?id=" .GetFormValue('id'));

}
else
{
    &displayError(GetFormValue('id'),"Er is geen (geldig) email adres opgegeven");
}





%>



echt, ik erger me steeds meer aan dat perl. het is dat dit @$#@ systeem erin geschreven is, anders was ik lekker in php gaan knutselen.

  • JaWi
  • Registratie: Maart 2003
  • Laatst online: 14-01 21:58

JaWi

maak het maar stuk hoor...

<rant>Tjonge jonge, wat een puinzooi is deze code!</rant>

Goed, dan nog eens wat structurele punten:

Als je niet steeds het wiel wilt uitvinden, kun je beter MIME::Lite gebruiken, zoals bijv hier uitgebreid beschreven wordt. Dan heb je alle functionaliteit om email met attachments via een simpele API te versturen.
Verder: gebruik "use strict;" en "use warnings;" om de Perl warnings en errors te zien! Je gebruikt variabelen ad hoc, zonder deze eerst (netjes) te declareren.
Op regel 337 zie ik iets "geks": je geeft als naam van je attachment "@bestand" op; wat bedoel je hier? Want Perl zal eerst proberen een de array @bestand daar neer te plempen, en als hij deze niet kan vinden, dan maakt hij er maar '@bestand' van?! Bedoel je niet: "$bestand" of iets anders?

Statistics are like bikinis. What they reveal is suggestive, but what they hide is vital.


  • sharkzor
  • Registratie: Maart 2000
  • Laatst online: 17-04 09:36
JaWi schreef op dinsdag 22 november 2005 @ 11:13:
<rant>Tjonge jonge, wat een puinzooi is deze code!</rant>

Goed, dan nog eens wat structurele punten:

Als je niet steeds het wiel wilt uitvinden, kun je beter MIME::Lite gebruiken, zoals bijv hier uitgebreid beschreven wordt. Dan heb je alle functionaliteit om email met attachments via een simpele API te versturen.
Verder: gebruik "use strict;" en "use warnings;" om de Perl warnings en errors te zien! Je gebruikt variabelen ad hoc, zonder deze eerst (netjes) te declareren.
Op regel 337 zie ik iets "geks": je geeft als naam van je attachment "@bestand" op; wat bedoel je hier? Want Perl zal eerst proberen een de array @bestand daar neer te plempen, en als hij deze niet kan vinden, dan maakt hij er maar '@bestand' van?! Bedoel je niet: "$bestand" of iets anders?
ik weet idd dat het een bende is. maar goed, als ik eenmaal aan t prutsen ben om het werkend te krijgen word het al gouw een bende. opruimen komt later dan wel denk ik altijd ;)
ik ga eens naar MIME kijken. tnx!

heb nu ook even de html in de body gepropt wat lijkt te werken, maar het mooiste zou met attachment zijn. btw, als we toch bezig zijn, is er ook een gratis iets dat het naar pdf om kan zetten?

dat @bestand is idd fout. zou wel eens het hele probleem kunnen zijn!

[ Voor 7% gewijzigd door sharkzor op 22-11-2005 11:41 ]


Verwijderd

Als je bij %mail cc => $emailcc toevoegd met het cc adres in $emailcc heb je waarschijnlijk je cc probleem opgelost.
Als je regel 318 veranderd in $mail{'content-type'} = "text/html"; kan je de hmtl file in de body van de email zetten en zo je output controleren. (moet je wel oa even 324 t/m 327 aanpassen).

adviesje:
je hebt nu al een factuurn staan in E:/2control/Financien/export/factuur dus maak even een nieuw scriptje die de factuur inleest en de email routine doet en volg daarin JaWi zijn tips.

[ Voor 38% gewijzigd door Verwijderd op 22-11-2005 12:46 ]


  • sharkzor
  • Registratie: Maart 2000
  • Laatst online: 17-04 09:36
ik heb de hele zaak nu omgebouwd met dat mime en de factuur als attachment, werkt prima!
je zag waarschijnlijk al die print "\n" dingen bovenin staan, die heb ik nu ook niet meer nodig.
html bestand komt nu correct over. nu maar hopen dat het goed gaat. iig bedankt voor de hulp!
en als iemand nog iets weet hoe ik die html omzet naar een .pdf, zou dat helemaal mooi zijn.

[ Voor 6% gewijzigd door sharkzor op 22-11-2005 15:36 ]

Pagina: 1