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

    [PHP] Problema con mail() + allegati

    Buon inizio d'anno a tutti,
    ho un problemino con questo form che dovrebbe permettermi di spedire email con allegati.

    Ho preso spunto da un articolo apparto su html.it

    Codice PHP:
    //Questa la pagina del form
    <form action="confirm_mail.php" enctype="multipart/form-data" method="POST" style="text-align:justify;font-family:Trebuchet MS;font-size:small;padding-left:15px; ">
    <
    table cellpadding="0" cellspacing="0">
      <
    tr>
        <
    td>Oggetto:</td>
        <
    td><input type="text" name="Soggetto" size="40"></td>
      </
    tr>
      <
    tr>
        <
    td>Allegato:</td><td><input type="file" name="allegato" size="40"></td>
      </
    tr>
      <
    tr>
        <
    td valign="top">Descrizione:</td>
        <
    td><textarea name="Contenuto" rows="15" cols="50"></textarea></td>
      </
    tr>
        <
    tr>
        <
    td>La tua email:</td><td><input type="text" name="mail_utente" size="40"></td>
      </
    tr>

      <
    tr>
        <
    td height="30" valign="bottom" colspan="2" align="center"><input type="submit" value="Invia la mail">
      </
    tr>
    </
    table>
    </
    form
    E questa la pagina col codice d'invio:
    Codice PHP:
    <?php

    // RENDIAMO LO SCRIPT COMPATIBILE CON LE VERSIONI DI PHP < 4.1.0
    if(!isset($_POST)) $_POST $HTTP_POST_VARS;
    if(!isset(
    $_FILES)) $_FILES $HTTP_POST_FILES;

    // RIPULIAMO I VARI CAMPI DEL MODULO
    $Destinatario="postmaster@palinuroculturaevacanze.it";
    $Destinatario trim($_POST["Destinatario"]);
    $Soggetto trim(stripslashes($_POST["Soggetto"]));
    $Contenuto trim(stripslashes($_POST["Contenuto"]));

    // ASSEGNIAMO A VARIABILI PIU' LEGGIBILI, LE PROPRIETA' DELL'ALLEGATO
    $attach $_FILES["allegato"]["tmp_name"];
    $file_name $_FILES["allegato"]["name"];
    $file_type $_FILES["allegato"]["type"];
    $file_size $_FILES["allegato"]["size"];

    // DELIMITATORE
    $boundary md5(uniqid(microtime()));

    // APRIAMO L'ALLEGATO PER LEGGERLO E CODIFICARLO
    $file = @fopen($attach"r");
    $contents = @fread($file$file_size);
    $encoded_attach chunk_split(base64_encode($contents));
    @
    fclose($file);

    // INTESTAZIONI DELLA MAIL
    $mail_headers .= "MIME-version: 1.0\n";
    $mail_headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"";
    $mail_headers .= "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 .= "$Contenuto\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 DELLA MAIL
    if(@mail($Destinatario$Soggetto$mail_body.$mail_utente$mail_headers)) { // SE L'INVIO Č ANDATO A BUON FINE...

    echo "La mail č stata inoltrata con successo.";

    } else {
    // ALTRIMENTI...

    echo "Si sono verificati dei problemi nell'invio della mail.";

    }

    ?>
    Il problema č che non riesco a ricevere nella casella di posta nč il testo del messaggio nč l'allegato. Cosa sbaglio?
    www.palinuroculturaevacanze.it - Il portale di Palinuro.

    www.discotecasestosenso.it - Fashon Club Discoteca di Palinuro

    www.holzofenpizzapietro.de - Die gute italienische pizza von 3 generationem!

  2. #2
    Leva la chiocciola @ davanti a mail e vedi se ti restituisce qualche errore.

  3. #3

    nessun errore...

    anzi, mi dice che il messaggio č stato inviato con successo! Strano... ho provato di tutto!
    www.palinuroculturaevacanze.it - Il portale di Palinuro.

    www.discotecasestosenso.it - Fashon Club Discoteca di Palinuro

    www.holzofenpizzapietro.de - Die gute italienische pizza von 3 generationem!

  4. #4
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766
    sei su un server dedicato tuo?
    Controlla che non sei finito nella lista di spam

    A me successe tempo fa, riuscivo ad inviare le email solo ai domini presenti sul mio server, mentre quelli famosi come libero, email, virgilio, hotmail ecc non accettavano le email spedite da un form in php, poi ho risolto eliminando il mio server dalla lista spam

  5. #5
    ho messo questo form su servar linux aruba. Mi serve per una galleria fotografica: gli utenti mi mandano le foto, io le valuto e poi le inserisco nella galleria.
    Ho un indirizzo email apposta per questo tipo di messaggi!
    www.palinuroculturaevacanze.it - Il portale di Palinuro.

    www.discotecasestosenso.it - Fashon Club Discoteca di Palinuro

    www.holzofenpizzapietro.de - Die gute italienische pizza von 3 generationem!

  6. #6

    nessuno puō aiutarmi?!

    www.palinuroculturaevacanze.it - Il portale di Palinuro.

    www.discotecasestosenso.it - Fashon Club Discoteca di Palinuro

    www.holzofenpizzapietro.de - Die gute italienische pizza von 3 generationem!

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.