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

    invio di allegato pdf tramite smtp

    sono sicuro ci siano dei problemi con la header della mail:


    Codice PHP:

    include_once('SMTPmailer.php') ;

    $host "host";
    $from "liame@inwind.it";

    //Istanzio la classe
    $x=new SMTPmailer($host,$from) or die('Impossibile istanziare oggetto valido');
    //Apro la connessione
    $x->connect('mail.dominio.com') or die('Non riesco a connettermi '.$x->getError()) ;


    //Parte eventuale da ciclare START

    // DELIMITATORE
    $boundary md5(uniqid(microtime()));
    $file_name "fattura"."_10062004_".".pdf";
    // APRIAMO L'ALLEGATO PER LEGGERLO E CODIFICARLO
    $attach $_SERVER['DOCUMENT_ROOT']."/smtp/fattura.pdf";
    $file_size filesize($attach);
    $file_type "application/pdf";
    $file = @fopen($attach"r");
    $contents = @fread($file$file_size);
    $encoded_attach chunk_split(base64_encode($contents));
    @
    fclose($file);

    $to "liame@inwind.it";
    $oggetto "Messaggio: oggetto";
    $messaggio "Questo è il messaggio ";

    //Priorità alta
    $x->setHeader('X-Priority'1) ;

    $x->setHeader('Content-Type''multipart/mixed; boundary="$boundary"') ;
    $altriHeaders=array('X-attachments'=>'$file_name\n') ;

    // COSTRUIAMO IL CORPO DELLA MAIL
    $mail_body "--$boundary\n";
    $mail_body .= "Content-Type: text/plain; charset=us-ascii\n";
    $mail_body .= "Content-Transfer-Encoding: 7bit\n\n";
    $mail_body .= "$messaggio\n\n";
    $mail_body .= "--$boundary\n";
    $mail_body .= "Content-type: $file_type; name=\"$file_name\"\n"
    $mail_body .= "Content-Transfer-Encoding: base64\n";
    $mail_body .= "$encoded_attach\n";
    $mail_body .= "--$boundary--\n";

    //Invio il messaggio
    if ($x->mail($to$oggetto$mail_body,$altriHeaders)) {
        echo 
    "OK";
    } else {
        echo 
    $x->getError();
    }

    //Parte eventuale da ciclare FINE


    //Chiudo la connessione
    $x->close() or die('Non riesco a chiudere') ; 

  2. #2
    adesso il file pdf arriva in allegato correttamente e integro, però non capisco come mai il file allegato si chiami ATT000477.pdf , non mi prende il nome che gli dò io.

  3. #3
    adesso funziona tutto..

    questa parte quà è un poco delicata:

    Codice PHP:
    $mail_body .= "Content-type: $file_type; \n        name=\"$file_name\"\n"
    $mail_body .= "Content-Transfer-Encoding: base64\n";
    $mail_body .= "Content-Disposition: attachment; \n        filename=\"$file_name\"\n\n"

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.