Phpmailer per principianti

lsnight

Nuovo Utente
15 Ott 2013
25
0
0
Ok, credo si sia già trattato di questo argomento, ma per favore non mi linciate, perche' vedo tutorial od altro, ma non capisco bene :( e magari può essere pure un "faro" di speranza per le molte persone, come me, che non capiscono molto bene se non con i propri esempi, per cui scusatemi ancora.

Allora, facciamo che voglio mettere online un form contatti semplice come questo:

Contatti.html

HTML:
<form id="formail" action="mail.php" method="post" >
	<div id="risposta">
	</div>
	<p>* Nome:</p>
	<input type="text" id="nome" name="nome"  value="" /><br />
	<p>* E-mail:</p>
	<input type="text" id="email" name="email"  value="" /><br />
    <p>* Telefono:</p>
    <input type="text" id="cell" name="cellulare" value="" /><br  />
	<p>* Oggetto:</p>
	<input type="text" id="oggetto" name="ogggetto"  value="" /><br />
	<p>* Messaggio:</p>
	<textarea id="messaggio" name="messaggio" rows="9" cols="20"></textarea><br />
	<input type="submit" id="invia" name="invia" value="Invia" />
	</form>
e creo un altra pagina chiamata:

mail.php

con il seguente codice ( che ho preso da un esempio qui nel forum ):


PHP:
<?php 
require "PHPMailer/class.phpmailer.php"; 

//istanziamo la classe 
$messaggio = new PHPmailer(); 
$messaggio->IsSMTP(); 
$messaggio->Host='mail.prova.it'; 

//definiamo le intestazioni e il corpo del messaggio 
$messaggio->From='[email protected]'; 
$messaggio->AddAddress('[email protected]'); 
$messaggio->AddReplyTo('[email protected]');  
$messaggio->Subject='Prova di email'; 
$messaggio->Body=stripslashes('Ciao!!!!'); 

//definiamo i comportamenti in caso di invio corretto  
//o di errore 
if(!$messaggio->Send()){  
  echo $messaggio->ErrorInfo;  
}else{  
  echo 'Email inviata correttamente!'; 
} 

//chiudiamo la connessione 
$messaggio->SmtpClose(); 
unset($messaggio); 

?>

l'email viene mandata con successo.


Ed ho un paio di domande a riguardo :

1) Compilando il form (ed anche non compilandolo ) e mandando l'email , compare solo messaggio 'Ciao' del body messo in mail.php e mi dice che l'ha spedita un Root user, mentre a me servono i dati compilati nel form, devo fare qualche modifica nella class.phpmailer.php?

2) C'è un modo, che appena si manda l'email, non si apra la pagina mail.php che dice " Email inviata correttamente " ma magari si apre qualche popup?

Scusatemi ancora l'ignoranza
 
Ultima modifica di un moderatore:

lsnight

Nuovo Utente
15 Ott 2013
25
0
0
Ottimo, cosi almeno non si apre un altra pagina :)

Ma c'è qualche guida proprio da 0 che ti spiega filo e per segno come settarlo? Io, almeno quelle italiane che ho trovato, ti dicono pochissime cose e non sono tanto d'aiuto :(
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
146
63
PR
www.borgo-italia.it
ciao
1) Compilando il form (ed anche non compilandolo ) e mandando l'email , compare solo messaggio 'Ciao' del body messo in mail.php e mi dice che l'ha spedita un Root user, mentre a me servono i dati compilati nel form, devo fare qualche modifica nella class.phpmailer.php?
a) non compilando il form l'email NON deve partire
b) verresti che apparisse anche quanto scritto nel form?
c) per carità non toccarla

2) C'è un modo, che appena si manda l'email, non si apra la pagina mail.php che dice " Email inviata correttamente " ma magari si apre qualche popup?
d) intanto potresti mettere il form e la parte di invio nella stessa pagina gestendo i vari messaggi all'invio con i css
 

lsnight

Nuovo Utente
15 Ott 2013
25
0
0
ciao

a) non compilando il form l'email NON deve partire
b) verresti che apparisse anche quanto scritto nel form?
c) per carità non toccarla


d) intanto potresti mettere il form e la parte di invio nella stessa pagina gestendo i vari messaggi all'invio con i css

ciau borgo :D

il problema che:

a) Anche lasciando vuoto il form e cliccando invia, l'email arriva ugualmente nella mia casella email del sito con scritto:

Da: Rootuser

contenuto:

Ciao!!!!


b) Si, in modo da farmi contattare dai visitatori del sito, e magari farmi allegare qualche file, come file con .jpeg o .png . Perche' ora come ora, puoi pure compilare il form con nome email e testo, ma compare la stessa email sopra

c) Ok non toccherò niente :O

d) Farò come dici :)
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
146
63
PR
www.borgo-italia.it
ciao
per a) devi verificare i vari $_POST che ti arrivano dal form (tra l'altro e importante) e se
$_POST tutti corretti: invii
altrimenti: no
prova a guardare in giro per il forum il problema è stato trattato diverse volte, prova e poi eventualmente riprendiamo
per l'invio di file come sopra
 

lsnight

Nuovo Utente
15 Ott 2013
25
0
0
ciao
per a) devi verificare i vari $_POST che ti arrivano dal form (tra l'altro e importante) e se
$_POST tutti corretti: invii
altrimenti: no
prova a guardare in giro per il forum il problema è stato trattato diverse volte, prova e poi eventualmente riprendiamo
per l'invio di file come sopra
Perfetto :D do un occhiata, appena sistemato quello, riprendo la discussione :) E come sempre grazie mille borgo :beer:
 

lsnight

Nuovo Utente
15 Ott 2013
25
0
0
Niente da fare, trovo solo esempi, che forse sono io non pratico, dove sono tutti un "copia incolla" di un altro, e non mi aiutano per niente, nel senso che copio quello che c'è scritto, collego il tutto, e mandandomi email mi viene come scritto sopra con root user e compagnia bella :incazz2: