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

    Invio mail con più allegati

    Ciao ragazzi, ho consultato la discussione sul vostro forum per quanto riguarda l'invio della mail con allegato alla pagina http://forum.html.it/forum/showthrea...readid=513009.

    é tutto perfettamente funzionante, ma tuttavia non sono riuscito a trovare il codice che mi permette di spedire più email (magari 2 o 3 allegati).

    Qualcuno mi potrebbe indicare come fare? Grazie. Indico il codice sorgente:

    Codice PHP:
     $mess="test"

    /*Nella variabile $mess va inserito tutto il codice html che comporrà il corpo dell'email che si vuole inviare. Come nell'esempio si possono utilizzare anche i fogli di stile.*/ 

    $e="yyy@hotmail.it"/*Inserire l'indirizzo email a cui si vuole spedire l'email*/ 
    $ogg="test oggetto"/*Inserire l'oggetto dell'email da spedire*/ 
    $mittente="yyy@hotmail.it"/*Inserire l'indirizzo email che verrà visulaizzato come mittente dell'email*/ 
    $reply="yyy@hotmail.it"/*Inserire l'indirizzo email a cui verranno inviate le risposte all'email inviata*/ 

    $titolo="allegato.jpg"/*Inserire il nome che si vuole dare all'allegato*/ 
    $f="Documenti/AU 051342-90017 Allergeni cosmetica-Ecsa.jpg"/*Inserire l'indirizzo del file che si vuole inviare come allegato*/ 
    $filetype="application/jpg"/*Inserire il formato MIME del file da allegare*/ 

    /*Non modificare nulla al di sotto di questa linea*/ 

    $intestazioni "From: $mittente\nReply-To: $reply\nX-Mailer: Sismail Web Email Interface\nMIME-version: 1.0\nContent-type: multipart/mixed;\n boundary=\"Message-Boundary\"\nContent-transfer-encoding: 7BIT\nX-attachments: $titolo"

    $body_top "--Message-Boundary\n"
    $body_top .= "Content-type: text/html; charset=iso-8859-1\n"
    $body_top .= "Content-transfer-encoding: 7BIT\n"
    $body_top .= "Content-description: Mail message body\n\n"

    $msg_body $body_top $mess

    $filez fopen($f"r"); 
    $contents fread($filezfilesize($f)); 
    $encoded_attach chunk_split(base64_encode($contents)); 
    fclose($filez); 

    $msg_body .= "\n\n--Message-Boundary\n"
    $msg_body .= "Content-type: $filetype; name=\"$titolo\"\n"
    $msg_body .= "Content-Transfer-Encoding: BASE64\n"
    $msg_body .= "Content-disposition: attachment; filename=\"$titolo\"\n\n"
    $msg_body .= "$encoded_attach\n"
    $msg_body .= "--Message-Boundary--\n"

    if((@
    mail($e,$ogg,$msg_body$intestazioni)))


    print 
    "<H5>Invio della email eseguito con successo.</H5>";

    else
    {
    print 
    "<H5>Invio della email fallito!</H5>";    
        


  2. #2
    Perchè non usi una delle decine di classi già pronte?

  3. #3
    Non saprei, questo é lo script funzionante che ho trovato sul vostro sito.

    Potresti indicarmi il codice che intendi? Grazie.

  4. #4
    Trovato online senza uso di classi e perfettamente funzionante!!



    Codice PHP:
    <?php
     
    // array with filenames to be sent as attachment
    $files = array("file_1.ext","file_2.ext","file_3.ext",......);
     
    // email fields: to, from, subject, and so on
    $to "mail@mail.com";
    $from "mail@mail.com"
    $subject ="My subject"
    $message "My message";
    $headers "From: $from";
     
    // boundary 
    $semi_rand md5(time()); 
    $mime_boundary "==Multipart_Boundary_x{$semi_rand}x"
     
    // headers for attachment 
    $headers .= "\nMIME-Version: 1.0\n" "Content-Type: multipart/mixed;\n" " boundary=\"{$mime_boundary}\""
     
    // multipart boundary 
    $message "This is a multi-part message in MIME format.\n\n" "--{$mime_boundary}\n" "Content-Type: text/plain; charset=\"iso-8859-1\"\n" "Content-Transfer-Encoding: 7bit\n\n" $message "\n\n"
    $message .= "--{$mime_boundary}\n";
     
    // preparing attachments
    for($x=0;$x<count($files);$x++){
        
    $file fopen($files[$x],"rb");
        
    $data fread($file,filesize($files[$x]));
        
    fclose($file);
        
    $data chunk_split(base64_encode($data));
        
    $message .= "Content-Type: {\"application/octet-stream\"};\n" " name=\"$files[$x]\"\n" 
        
    "Content-Disposition: attachment;\n" " filename=\"$files[$x]\"\n" 
        
    "Content-Transfer-Encoding: base64\n\n" $data "\n\n";
        
    $message .= "--{$mime_boundary}\n";
    }
     
    // send
     
    $ok = @mail($to$subject$message$headers); 
    if (
    $ok) { 
        echo 
    "

    mail sent to 
    $to!</p>"
    } else { 
        echo 
    "

    mail could not be sent!</p>"


     
    ?>

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.