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

    Problema con la funzione mail

    Vorrei aggiungere la possibilità di allegare un'immagine a questo form
    codice:
    <form id="boxcontact" enctype="multipart/form-data" action="contactconfirm.php" method="post" onsubmit = "if(!checkSubmit(event)) return false">
    							<table style="margin-top: 15px;">
    								<tr>
    									<td>Nome: </td>
    									<td><input type="text" name="nome1" id="nome1"/></td>
    								</tr>
    								<tr>
    									<td>Cognome: </td>
    									<td><input type="text" name="cognome1" id="cognome1"/></td>
    								</tr>
    								<tr>
    									<td>Provincia: </td>
    									<td><input type="text" name="provincia1" id="provincia1"/></td>
    								</tr>
    								<tr>
    									<td>Citt&agrave;: </td>
    									<td><input type="text" name="citta1" id="citta1"/></td>
    								</tr>
    								<tr>
    									<td>Tel/Cel: </td>
    									<td><input type="text" name="telcel1" id="telcel1"/></td>
    								</tr>
    								<tr>
    									<td>Email: </td>
    									<td><input type="text" name="email1" id="email1"/></td>
    								</tr>
    								<tr>
    									<td>Richiesta: </td>
    									<td><textarea name="message1" id="message1" rows="2" cols="18"></textarea></td>
    								</tr>
    								<tr>
    									<td>Inizio lavori: </td>
    									<td><input type="text" name="data" id="data"/></td>
    								</tr>
    								<tr>
    									<td colspan="2" style="text-align: center;">
    										
    
    Allega un'immagine (opzionale)</p>
    										<input type="file" name="allegato" size="40" />
    									</td>
    								</tr>
    								<tr>
    									<td colspan="2">
    										<p style="font-size: 12px;">
    											<input type="checkbox" name="privacy" value="privacy" id="privacy" />
    											Autorizzo al trattamento dei miei dati personali (in conformit&agrave; alla Legge sulla Privacy D. lgs. 196/2003).
    										</p>
    									</td>
    								</tr>
    								<tr>
    									<td></td>
    									<td style="text-align: right;"><input type="submit" value="Invia richiesta" style="margin-top: 5px;" /></td>
    								</tr>
    							</table>
    							
    
    <input type="text" name="human1" id="human1" style="width:0;height:0;opacity:0; filter:alpha(opacity=0);"/></p>
    						</form>
    E questo è lo script php
    Codice PHP:
    <?php    
    function sendHTMLmail($fromMail,$toMail,$subject,$HTMLmessage)
    {
        
    $headers "MIME-Version: 1.0"."\r\n"
        
    $headers .= "Content-type: text/html; charset=iso-8859-1"."\r\n"
        
    $headers  .= "From: "."\r\n"
        
    $HTMLmessage="<html><body>".$HTMLmessage."</body></html>";
        
    mail($toMail$subject$HTMLmessage$headers);
    }
        
    $message1=nl2br($_POST['message1']);    
        
        
    $testo.="Nome: ".$_POST['nome1']."
    "
    ;
        
    $testo.="Cognome: ".$_POST['cognome1']."
    "
    ;
        
    $testo.="Provincia: ".$_POST['provincia1']."
    "
    ;
        
    $testo.="CittÃ_: ".$_POST['citta1']."
    "
    ;
        
    $testo.="Tel/Cel: ".$_POST['telcel1']."
    "
    ;
        
    $testo.="Email: ".$_POST['email1']."

    "
    ;
        
    $testo.="Richiesta: ".$_POST['message1']."
    "
    ;
        
    $testo.="Periodo inizio lavori: ".$_POST['data']."
    "
    ;
        
        
    $emailImbianchini "qui c'è la mia email, cancellata per postare il problema sul forum";
            
        
    $email1=$_POST['email1'];
        
    $human1=$_POST['human1'];
        
        
    $testoAutoRisp="

    Grazie per averci contattato
    Sarete ricontattati il prima possibile.</p>"
    ;
        
    $testoAutoRisp.="

    Contatto immediato: Sig. Andrea - Cell. 0000000000</p><hr>"
    ;
        
    $testoAutoRisp.="

    Dati della richiesta inviata:</p>"
    ;
        
    $testoAutoRisp.=$testo;
        
        
    $testo.="
    <p style='font-size:10px;'>(richiesta inviata da ip: "
    .$_SERVER['REMOTE_ADDR'].")</p>";
        
        if(
    strlen($email1)>&& $human1=="")
        {
            
    sendHTMLmail($emailImbianchini,$email1,"Imbianchini-tuttofare.it",$testoAutoRisp);
            
    sendHTMLmail($email1,$emailImbianchini,"Richiesta da sito Imbianchini-tuttofare.it",$testo);
        }
    ?>


    Ho provato a seguire la guida alla funzione mail di questo sito, ma non funziona. Non solo non invia l'allegato, ma invia anche l'email in un formato che non è html.

    Vorrei anche sapere se è possibile effettuare un controllo sull'immagine per capirne il tipo, così, nel caso non fosse un immagine non sarebbe inviata.

  2. #2
    Per inviare mail con allegato, ti consiglio di utilizzare PHPMailer o SWIFTMailer

    Il file da allegare cmq dovrà risiedere sul server, quindi prima di inviarlo dovrai caricarlo tramite move_upload_file

    Per il tipo di file, fai un controllo sull'estensione, explodendo il nome del file, e prendendo l'ultima stringa dopo l'ultimo punto

  3. #3
    Grazie, PHPMailer è davvero fantastico, mi è rimasto solo un piccolo problema con l'allegato.
    Per inviare allegati con PHPMailer si usa il comando:
    Codice PHP:
    $messaggio->AddAttachment('percorso/file.est'); 
    Io non conosco l'estensione del file, ma ho soltanto il riferimento a questa parte del form
    codice:
    <input type="file" name="allegato" size="40" />
    Come faccio a inviare via email il file che l'utente ha caricato?

  4. #4

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.