Modulo email

di il
3 risposte

Modulo email

Salve a tutti, premetto che sono un novizio, ma mi trovo alle prese con un problema da risolvere. Sto creando un modulo per l'invio di mail (in verità sto modificando del materiale reperito in rete, non sono abbastanza bravo da crearlo da me e conosco solo un po' di html), il codice html è il seguente:

<form action="./mail.php" method="POST">
<table border="0">
<tr>
<td>Nome</td>
<td><input type="text" name="Nome" size="30"></td>
</tr>
<tr>
<td>Età</td>
<td><input type="text" name="Anni" size="5"></td>
</tr>
<tr>
<td>Città</td>
<td><input type="text" name="City" size="30"></td>
</tr>
<tr>
<td>Indirizzo</td>
<td><input type="text" name="Address" size="30"></td>
</tr>
<tr>
<td valign="top">Note</td>
<td><textarea rows="6" name="Note" cols="50"></textarea></td>
</tr>
<tr>
<td colspan="2" valign="bottom" align="center" height="30">
<input type="submit" value="Invia">
<input type="reset" value="Cancella"></td>
</tr>
</table>
</form>


nel file mail.php, collocato nella stessa cartella, il codice è:

// L'INDIRIZZO DEL DESTINATARIO DELLA MAIL
$to = "";

// IL SOGGETTO DELLA MAIL
$subject = "Modulo proveniente dal sito www.miosito.i";

// COSTRUIAMO IL CORPO DEL MESSAGGIO
$body = "Contenuto del modulo:\n\n";
$body .= "Nome: " . trim(stripslashes($_POST["Nome"])) . "\n";
$body .= "Età: " . trim(stripslashes($_POST["Anni"])) . "\n";
$body .= "Città: " . trim(stripslashes($_POST["City"])) . "\n";
$body .= "Indirizzo: " . trim(stripslashes($_POST["Indirizzo"])) . "\n";
$body .= "Note: " . trim(stripslashes($_POST["Note"])) . "\n";

// INTESTAZIONI SUPPLEMENTARI
$headers = "From: Modulo utenti<>";

// INVIO DELLA MAIL
if(@mail($to, $subject, $body, $headers)) { // SE L'INOLTRO È ANDATO A BUON FINE...

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

} else {// ALTRIMENTI...

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

}

?>


al posto di ho sostituito la mia email. Carico i file su easyphp per farli girare in locale, apro la pagine in html, inserisco tutti i campi e mi compare questo messaggio d'errore:
Notice: Undefined index: Indirizzo in C:\Program Files (x86)\EasyPHP-Devserver-17-lite\eds-www\sito\mail.php on line 14
Si sono verificati dei problemi nell'invio della mail.

come mai? Grazie in anticipo

3 Risposte

  • Re: Modulo email

    Giusto per curiosità, secondo è possibile inviare "magicamente" email (internet) senza usare, ad esempio, un server SMTP?
  • Re: Modulo email

    Non saprei, ho posto una domanda per avere risposte, premettendo di non essere un esperto, perciò qualora volessi dare delucidazioni a riguardo sono ben accette, le domande sarcastiche sono un inutile gesto di spavalderia, saccenza e cattiva educazione, qualora la domanda dovesse turbarti puoi anche non rispondere.
  • Re: Modulo email

    st3fano90 ha scritto:


    Non saprei, ho posto una domanda per avere risposte, premettendo di non essere un esperto, perciò qualora volessi dare delucidazioni a riguardo sono ben accette, le domande sarcastiche sono un inutile gesto di spavalderia, saccenza e cattiva educazione, qualora la domanda dovesse turbarti puoi anche non rispondere.
    non è una domanda sarcastica, è una delucidazione vera e propria.
    E' possibile inviare email con mail, anche internet, ma questo presume tutta una serie di configurazioni piuttosto rilevanti sulla macchina.
    Dando per scontato che non sia questo il caso, allora ti servirà studiare un pochino, perchè sei davvero a zero.
    Dando per scontato inoltre di avere phpmailer (e se non è scontato perdonami, ma la mia quantità di saccenza giornaliera non è ancora esaurita)
    
    require_once('class.phpmailer.php');
    include("class.smtp.php"); 
    		$mail             = new PHPMailer();
    		$body             = "Questo è il body"; 
    		
    		$mail->IsSMTP(); 
    		$mail->Host       = "mail.qualcosa.it"; 
    		$mail->SMTPDebug  = 0;
    		$mail->SMTPAuth   = true;
    		$mail->Port       = 587; //o quella che è, tipo 25
    		$mail->Username   = "pippo@qualcosa.it";
    		$mail->Password   = "chissà...";
    
    		$mail->SetFrom('pippo@qualcosa.it', 'Messaggio da non si sa chi');
    		$mail->AddReplyTo("pippo@qualcosa.it","Non rispondere");
    
    		$mail->Subject    = "Qualcosa";
    		$mail->AltBody    = "Per vedere il messaggio usa un programma che capisce HTML";
    	
    		$mail->MsgHTML($body);
    
    		$mail->AddAddress("chissa@bo.it", "destinatario");
    
    		$mail->AddAttachment("qualcosa.gif"); 
    		
    		if(!$mail->Send()) 
    		{
    			// qualcosa è andato male
    				} 
    		else 
    		{
    			// tutto bene
    		}
    
    
Devi accedere o registrarti per scrivere nel forum
3 risposte