Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    invio email con allegato e codifica

    Ciao, provo ad inviare una email con allegato (pdf), ma mi si rompe tutto perchè credo che nel corpo appaiono entità tipo
    =3D, =F2...
    esempio reale:
    codice:
    IME-Version: 1.0
    Content-Type: multipart/mixed;
     boundary=3D"=3D=3DMultipart_Boundary_x664c47640057b14c86b5496056a78a7dx"
    
    
    This is a multi-part message in MIME format.
    
    --=3D=3DMultipart_Boundary_x664c47640057b14c86b5496056a78a7dx
    Content-Type: text/plain; charset=3D"iso-8859-1"
    Content-Transfer-Encoding: 7bit
    
    {.....TESTO HTML....}
    
    --=3D=3DMultipart_Boundary_x664c47640057b14c86b5496056a78a7dx
    Content-Type: application/pdf;
     name=3D"prova.pdf"
    Content-Disposition: attachment;
     filename=3D"prova.pdf"
    Content-Transfer-Encoding: base64
    
    {codifica PDF......}
    JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0ZpbHRlci9GbGF0Z=
    URl
    Y29kZT4+C.........................
    sapreste darmi un consiglio per risolvere il problema? grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    non vedendo il codice PHP difficilemte ti si potrà aiutare concretamente. Usi i giusti Content-type? Trovi qui un esempio:
    http://www.finalwebsites.com/forums/...achment-script

    e molti altri con una semplice ricerca. Questo se non vuoi usare una qualche classe che faccia tutto in maniera "pulita" (mi viene in mente phpmailer, ma sono convinto ne esistano anche altre)
    http://sourceforge.net/projects/phpmailer/
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    si, scusate, posto il codice
    codice:
    		$file = @fopen($attachment,'rb');
    		$data = @fread($file, filesize($attachment));
    		@fclose($file);
    		$data = chunk_split(base64_encode($data));
    		$rand = md5(time());
    		$boundary = "==Multipart_Boundary_x".$rand."x";
    		
    		$intestazioni .= "\nMIME-Version: 1.0\n";
    		$intestazioni .= "Content-Type: multipart/alternative;\n";
    		$intestazioni .= " boundary=\"".$boundary."\"\n";
    		
    		$testo = $TEXTMAIL;// testo reale dell'email
    
    		$messaggio .= "This is a multi-part message in MIME format.\n\n";
    		$messaggio .= "--".$boundary."\n";
    		$messaggio .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
    		$messaggio .= "Content-Transfer-Encoding: 8bit\n\n";
    		
    		$messaggio .= $testo . "\n\n";
    		
    		$messaggio .= "--".$boundary."\n";
    		$messaggio .= "Content-Type: {$attachment_type};\n";
    		$messaggio .= " name=\"{$attachment_name}\"\n";
    		$messaggio .= "Content-Disposition: attachment;\n";
    		$messaggio .= " filename=\"".$attachment_name."\"\n";
    		$messaggio .= "Content-Transfer-Encoding: base64\n\n";
    		$messaggio .= $data . "\n\n";
    		$messaggio .= "--".$boundary."--\n";

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    le sostanziali differenze che noto sono nei delimitatori: \r\n contro il semplice \n e nell'encoding (7 bit contro 8). Sul CRLF non avevo dubbi (sempre usato anch'io \r\n prima di mettere via tutto in favore di classi già pronte, pura pigrizia). Mentre la scelta dei 7 o 8 bit fondamentalmente penso sia solo per il tipo di carattere rappresentabile (7 bit è l'ascii standard, 8 bit credo si usino quando il charset va oltre l'ascii)
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  5. #5
    Grazie per le risposte...
    in realtà il codice con solo \n e 8bit invece di 7bit è solo una delle tante prove...
    ho reimpostato il codice così come in precedenza \r\n e 7bit... in thunderbird mi visualizza le entità... mentre in gmail non le visualizza però mi stampa
    codice:
    MIME-Version: 1.0
    Content-Type: multipart/alternative;
     boundary="==Multipart_Boundary_x8b2e473bb7b99b8fc3eda5c861403c9ex"
    
    
    This is a multi-part message in MIME format.
    
    --==Multipart_Boundary_x8b2e473bb7b99b8fc3eda5c861403c9ex
    Content-Type: text/plain; charset="iso-8859-1"
    Content-Transfer-Encoding: 7bit
    
                   <span style="font-size:13px;">
                   pippo Azienda:dea sistemi ha inviato una E-mail compilando il modulo presente sul sito.
    
                   Testo della comunicazione:
                    fhjdsh ajfldj hfkldjhalkjf hldk asfd
    
    saf daskjfdklajslfkjdòas f
    
    ds afkdjasklfdj klasjfkld jsafd
    
    asdf sajfdkas jfkldj asklfds
    
    adf aslfjdkljfdòlasfd
    
    sa dfkjaskdfjsòlak jdflasjfdkasfd
    
    as fdkljasklfdj òaskf dòlas fdas
    
     fdksjakldf
     </span>
    
    --==Multipart_Boundary_x8b2e473bb7b99b8fc3eda5c861403c9ex
    Content-Type: application/pdf;
     name="prova.pdf"
    Content-Disposition: attachment;
     filename="prova.pdf"
    Content-Transfer-Encoding: base64
    
    qui il codice del pdf non allegato
    
    JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0ZpbHRlci9GbGF0ZURl
    Y29kZT4+CnN0cmVhbQp4nM1cS6vzOBLd31+R9UAylmTLNlwCyU2ymF3DhVk0s5sHzKKhezN/f/TW
    qSrJjr9umOGDtJNrySXVUdWph3u4qNN/Pn49DafBXU3rdDGnZVSX9fTbP05//dPpl/g39++3f33c
    mi stampa a video l'header e credo che questo pregiudichi tutto il resto della mail compreso il pdf...

  6. #6
    ho risolto mettendo tutto nell'header

    invece di

    $intestazioni .= " boundary=\"".$boundary."\"\n";
    $messaggio .= "This is a multi-part message in MIME format.\n\n";

    ho trasformato la variabile $messaggio in $intestazioni...
    ora funziona grazie cmq!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.