[php]mail verstuurt 3 bijlage's ipv 2*

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

Onderwerpen


  • Jochemmol
  • Registratie: Augustus 2004
  • Laatst online: 07-05-2014
Ik heb een mailscript gemaakt. Hiermee stuur ik een bericht en een bijlage
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
                    $headers .= "\nMIME-Version: 1.0\r\n" . 
                                "Content-Type: multipart/mixed;\r\n" . 
                                " boundary=\"{$mime_boundary}\"\r\n";   
                    
                    $inhoud= "This is a multi-part message in MIME format.\r\n" . 
                                "--{$mime_boundary}\r\n" . 
                                "Content-Type: text/plain; charset=\"iso-8859-1\" \r\n" . 
                                "Content-Transfer-Encoding: 7bit\r\n" . 
                                "\r\n".
                                $body . "\r\n"; 
                                
                    $data = chunk_split(base64_encode($data)); 
                    
                    $inhoud.= "--{$mime_boundary}\r\n" . 
                                    "Content-Type: {$fileatt_type};\r\n" . 
                                    " name=\"{$file_name}\"\r\n" . 
                                    "Content-Transfer-Encoding: base64\r\n" . 
                                    "Content-disposition: attachment\r\n" .
                                $data . "\r\n" . 
                                  "--{$mime_boundary}\r\n"; 

                        $body = str_replace("<br>","\r\n",$body);
                        $body = chunk_split($body); 

                       
                       

                        $inhoud.= "--{$mime_boundary}\r\n" .
                                "Content-Type: text/plain; charset=\"iso-8859-1\" \r\n" . 
                                " name=\"{untitled}\"\r\n" . 
                                             $body . "\r\n" .
                        "{$mime_boundary}--\r\n";

Nu stuurt hij juist de bijlage. en een bijlage met mijn teskt. Ik dacht dat deze {untitled} moet heten maar zo heet hij niet. Hij heet ATT00037.txt :?

Maar hij stuurt nog een leeg txt bestand mee ATT00034.txt (59 B) 8)7
Ik snap niet dat die namen niet goed gaat en een rare bijlage mee gaat |:(

Jochemmol


  • Arjen Tempel
  • Registratie: Januari 2002
  • Niet online
Je hebt om al je variabelen {} haakjes staan, ook in de Mime boundary. (Waarschijnlijk heb je een deel van de code overgenomen uit een Putty template. Die gebruikt ook {} tekens om alle variabelen.)
Aangezien de {} tekens niet zijn toegestaan in een Mime boundary, snapt je mailprogramma het niet meer en probeert hij er nog iets van te maken. Dat heeft dus de verkeerde bestandsnaam en de extra attachment tot gevolg.

[ Voor 7% gewijzigd door Arjen Tempel op 23-09-2006 18:27 . Reden: Link naar RFC toegevoegd ]


  • Jochemmol
  • Registratie: Augustus 2004
  • Laatst online: 07-05-2014
Ik heb het weggehaald.

Overal maar dat werkte niet
Dit is mijn boundary
code:
1
2
3
            // Voor eventuele bijlage 
            $semi_rand = md5(uniqid(time())); 
            $mime_boundary = "==Multipart_Boundary_x".$semi_rand."x";

Jochemmol


  • stekkel
  • Registratie: Augustus 2001
  • Laatst online: 17-09 08:05
Je moet je mime headers met \r\n\r\n afsluiten i.pv. alleen \r\n

  • Jochemmol
  • Registratie: Augustus 2004
  • Laatst online: 07-05-2014
Gelt dat alleen voor de $header of overal waar ik $mime_boundary, encodatie en Content-type gebruik?

Want het lukte niet. 8)7

Jochemmol


Acties:
  • 0 Henk 'm!

  • stekkel
  • Registratie: Augustus 2001
  • Laatst online: 17-09 08:05
het laatste

Acties:
  • 0 Henk 'm!

  • Jochemmol
  • Registratie: Augustus 2004
  • Laatst online: 07-05-2014
Nou ik had in mijn $header het getest maar toen werkte het niet. :? Dus ik ga het nu proberen bij alle instellingen te doen.

Jochemmol


Acties:
  • 0 Henk 'm!

  • moozzuzz
  • Registratie: Januari 2005
  • Niet online
Ben je zeker dat die ATT... échte attachments zijn? Misschien beschouwt jouw emailprog de plaintext ook/verkeerdelijk als attachment?

Acties:
  • 0 Henk 'm!

  • Jochemmol
  • Registratie: Augustus 2004
  • Laatst online: 07-05-2014
Ik mail via de smtp server van mijn internet provider. Maar volgens mij moeten de headers gewoon goed zijn. Geen rare dingen enzo :? maar toch rare bijlages 8)7

Jochemmol


Acties:
  • 0 Henk 'm!

  • Brakkie
  • Registratie: Maart 2001
  • Niet online

Brakkie

blaat

Is niet echt een oplossing voor je bug maar waarom gebruik je niet de veel gebruikte htmlmimemail. Dan hoef je tenminste niet zelf aan de haal met de headers enzo.

http://www.phpguru.org/static/mime.mail.html

Systeem | Strava


Acties:
  • 0 Henk 'm!

  • klapvee
  • Registratie: Mei 2004
  • Laatst online: 13-04-2022
Wat bij mij hielp bij de mime mails is alle \r\n vervangen door \n .. toen werkte alles goed
alleen bij de boundaries zelf een \n\n--boudnary\n\n doen..

ik heb alleen gebruik gemaakt van inline attachments maar hij komt overal goed binnen ik ga er vanuit dat dit ook voor gewone attachments werkt

heb nog wel een werkend voorbeeld maar die zou ik dan online moeten zetten :)

[ Voor 24% gewijzigd door klapvee op 25-09-2006 16:14 ]

Pagina: 1