Visualizzazione dei risultati da 1 a 8 su 8

Discussione: form mail in php

  1. #1

    form mail in php

    Ragazzi scusate ho un problema, non riesco a far funzionare questo form, sapete dirmi dove sbaglio?

    Codice html:
    <form action="formmail.php" method="POST" enctype="multipart/form-data">
    <p align="left"><input type="hidden" name="destinatario" value="riccitiello@iboxweb.it">


    Nome: <span class="style33"> Cognome </span>:

    <input type="text" name="nome" size="25" />
    <input type="text" name="cognome" size="25" />
    <span class="style33">

    Tel </span><span class="style32"><span class="style33"> E-mail </span></span>:

    <input name="tel" type="text" size="25" />
    <span class="style32">
    <input type="text" name="email" size="25"/>


    </span> Link al sito

    <label>
    <input type="text" name="link" size="25" />
    <label>
    <span class="Stile36"><span class="style31 Stile36">
    <select name="Candidatura" size="1" class="Stile35" id="Candidatura">
    <option selected="selected">Consulente commerciale</option>
    <option>Web Marketin Manager</option>
    <option>Sales Partner</option>
    </select>


    </span></span><span class="Stile36">Invia il curriculum:</span><span class="Stile36"><span class="style31 Stile36">

    <input type="file" name="allegato" size="30"/>
    </span>

    </span>

    <span class="Stile36"> </span> <span class="Stile36">Comment

    <textarea name="testo" cols="30" rows="3" id="textarea"></textarea>


    </span>
    <input type="submit" value="Invia" style="color: #FFFFFF; font-weight: bold; background-color: #000000; border:none " />
    <input name="Reset" type="reset" style="color: #FFFFFF; font-weight: bold; background-color: #000000; border:none" value="Reimposta"/>


    </label>
    <div align="left"><div align="left"></div>
    </div></form></td>


    Codice php:
    <?php
    // Recupero il valore dei campi del form
    $destinatario = $_POST['destinatario'];
    $nome = $_POST['nome'];
    $cognome = $_POST['cognome'];
    $tel = $_POST['tel'];
    $link = $_POST['link'];
    $email = $_POST['email'];
    $candidatura = $_POST['candidatura'];
    $testo = $_POST['testo'];



    // Valorizzo le variabili relative all'allegato
    $allegato = $_FILES['allegato']['tmp_name'];
    $allegato_type = $_FILES['allegato']['type'];
    $allegato_name = $_FILES['allegato']['name'];

    // Creo 2 variabili che riempirò più avanti...
    $headers = "From: " . $mittente;
    $msg = "";

    // Verifico se il file è stato caricato correttamente via HTTP
    // In caso affermativo proseguo nel lavoro...
    if (is_uploaded_file($allegato))
    {
    // Apro e leggo il file allegato
    $file = fopen($allegato,'rb');
    $data = fread($file, filesize($allegato));
    fclose($file);

    // Adatto il file al formato MIME base64 usando base64_encode
    $data = chunk_split(base64_encode($data));

    // Genero il "separatore"
    // Serve per dividere, appunto, le varie parti del messaggio.
    // Nel nostro caso separerà la parte testuale dall'allegato
    $semi_rand = md5(time());
    $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";

    // Aggiungo le intestazioni necessarie per l'allegato
    $headers .= "\nMIME-Version: 1.0\n";
    $headers .= "Content-Type: multipart/mixed;\n";
    $headers .= " boundary=\"{$mime_boundary}\"";

    // Definisco il tipo di messaggio (MIME/multi-part)
    $msg .= "This is a multi-part message in MIME format.\n\n";

    // Metto il separatore
    $msg .= "--{$mime_boundary}\n";

    // Questa è la parte "testuale" del messaggio
    $msg .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
    $msg .= "Content-Transfer-Encoding: 7bit\n\n";
    $msg .= $messaggio . "\n\n";

    // Metto il separatore
    $msg .= "--{$mime_boundary}\n";

    // Aggiungo l'allegato al messaggio
    $msg .= "Content-Disposition: attachment;\n";
    $msg .= " filename=\"{$allegato_name}\"\n";
    $msg .= "Content-Transfer-Encoding: base64\n\n";
    $msg .= $data . "\n\n";

    // chiudo con il separatore
    $msg .= "--{$mime_boundary}--\n";
    }
    else
    {
    $msg = $messaggio;
    }

    // Invio la mail
    if (mail($destinatario, $oggetto, $msg, $headers))
    {
    echo "

    Mail inviata con successo!</p>";
    }else{
    echo "

    Errore!</p>";
    }
    ?>

  2. #2
    A che c'eri potevi postare l'intero manuale di PHP..così veniva più semplice

    Che problema hai?

  3. #3
    hehe scusa ma volevo essere sicuro che si capisse tutto....
    In pratica montato sul mio sito mi dice che la mail è stata inviata correttamente ma in realtà non è così non arriva niente....

    che ne dici mi puoi aiutare?

  4. #4
    Intanto farei così:

    Codice PHP:
    <form action="formmail.php" method="POST" enctype="multipart/form-data">
    <
    p align="left">


    Nome: <span class="style33">                                   Cognome </span>:

    <
    input type="text" name="nome" size="25" />
    <
    input type="text" name="cognome" size="25" />
    <
    span class="style33">

    Tel </span><span class="style32"><span class="style33">                                          E-mail </span></span>:

    <
    input name="tel" type="text" size="25" />
    <
    span class="style32">
    <
    input type="text" name="email" size="25"/>


    </
    spanLink al sito 

    <label>
    <
    input type="text" name="link" size="25" />
    <
    label>
    <
    span class="Stile36"><span class="style31 Stile36">
    <
    select name="Candidatura" size="1" class="Stile35" id="Candidatura">
    <
    option selected="selected">Consulente commerciale</option>
    <
    option>Web Marketin Manager</option>
    <
    option>Sales Partner</option>
    </
    select>


    </
    span></span><span class="Stile36">Invia il curriculum:</span><span class="Stile36"><span class="style31 Stile36">

    <
    input type="file" name="allegato" size="30"/>
    </
    span>

    </
    span>

    <
    span class="Stile36"> </span> <span class="Stile36">Comment

    <textarea name="testo" cols="30" rows="3" id="textarea"></textarea>


    </
    span>
    <
    input type="submit" value="Invia" style="color: #FFFFFF; font-weight: bold; background-color: #000000; border:none " />
    <
    input name="Reset" type="reset" style="color: #FFFFFF; font-weight: bold; background-color: #000000; border:none" value="Reimposta"/>


    </
    label>
    <
    div align="left"><div align="left"></div>
    </
    div></form></td
    Codice PHP:
    <?php
    // Recupero il valore dei campi del form
    $nome $_POST['nome'];
    $cognome $_POST['cognome'];
    $tel $_POST['tel'];
    $link $_POST['link'];
    $email $_POST['email'];
    $candidatura $_POST['candidatura'];
    $testo $_POST['testo'];



    // Valorizzo le variabili relative all'allegato
    $allegato $_FILES['allegato']['tmp_name'];
    $allegato_type $_FILES['allegato']['type'];
    $allegato_name $_FILES['allegato']['name'];

    // Creo 2 variabili che riempirò più avanti...
    $headers "From: " $mittente;
    $msg "";

    // Verifico se il file è stato caricato correttamente via HTTP
    // In caso affermativo proseguo nel lavoro...
    if (is_uploaded_file($allegato))
    {
    // Apro e leggo il file allegato
    $file fopen($allegato,'rb');
    $data fread($filefilesize($allegato));
    fclose($file);

    // Adatto il file al formato MIME base64 usando base64_encode
    $data chunk_split(base64_encode($data));

    // Genero il "separatore"
    // Serve per dividere, appunto, le varie parti del messaggio.
    // Nel nostro caso separerà la parte testuale dall'allegato
    $semi_rand md5(time());
    $mime_boundary "==Multipart_Boundary_x{$semi_rand}x";

    // Aggiungo le intestazioni necessarie per l'allegato
    $headers .= "\nMIME-Version: 1.0\n";
    $headers .= "Content-Type: multipart/mixed;\n";
    $headers .= " boundary=\"{$mime_boundary}\"";

    // Definisco il tipo di messaggio (MIME/multi-part)
    $msg .= "This is a multi-part message in MIME format.\n\n";

    // Metto il separatore
    $msg .= "--{$mime_boundary}\n";

    // Questa è la parte "testuale" del messaggio
    $msg .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
    $msg .= "Content-Transfer-Encoding: 7bit\n\n";
    $msg .= $messaggio "\n\n";

    // Metto il separatore
    $msg .= "--{$mime_boundary}\n";

    // Aggiungo l'allegato al messaggio
    $msg .= "Content-Disposition: attachment;\n";
    $msg .= " filename=\"{$allegato_name}\"\n";
    $msg .= "Content-Transfer-Encoding: base64\n\n";
    $msg .= $data "\n\n";

    // chiudo con il separatore
    $msg .= "--{$mime_boundary}--\n";
    }
    else
    {
    $msg $messaggio;
    }

    // Invio la mail
    if (mail("riccitiello@iboxweb.it"$oggetto$msg$headers))
    {
    echo 
    "

    Mail inviata con successo!</p>"
    ;
    }else{
    echo 
    "

    Errore!</p>"
    ;
    }
    ?>
    Poi, se lo script ti dice che la mail è stata inviata, allora vuol dire che l'ha inviata..c'è da vedere poi perchè non la ricevi..Hai provato con 1 altro indirizzo a cui spedire?

  5. #5
    Posso provare ma quella mail funziona perfettamente.... provo e ti dico

  6. #6
    lo stesso anche con mail diversa... perchè cavolo

  7. #7
    Se poi la mail la invi, non vorrei che fosse un poblema che crea Aruba... non la potresti provare così se a te arroiva cerco di risolvere il problema con loro

  8. #8
    Prova ad utilizzare questo

    http://swiftmailer.org/

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.