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:

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
PHP:
if(!$messaggio->Send()){  
  echo $messaggio->ErrorInfo;  
}else{  
  echo '<script type="text/javascript">alert("scrivi quello che vuoi!");</script>'; 
}
Puoi fare aprire un alert in questo modo
 

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.046
150
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.046
150
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:
 
Discussioni simili
Autore Titolo Forum Risposte Data
I Guida/Tutorial configurare PHPMailer per inviare mails tramite contact form? PHP 2
G phpmailer e php 8.1 con estensione mysqli PHP 6
E Hosting e phpmailer PHP 0
E PHPMailer PHP 4
D PHPMailer con account gmail PHP 14
I PHPMailer non funziona PHP 13
A PHPMAILER e UMLAUTS (lettere tedesche äüäöß) PHP 2
G PHPMailer: SMTP error Gmail PHP 8
M Come usare la nuova versione di phpmailer? PHP 2
P [PHPmailer] SMTP Aruba.. problemi PHP 8
G Invio Mail con PHPMailer, problemi SMTP PHP 7
V PHPMailer PHP 11
V PHPmailer allegato PHP 0
P problemi invio email con phpmailer PHP 47
P phpmailer PHP 0
localhost.nicola File log erroe con phpmailer PHP 3
A problema phpmailer PHP 32
L invio smtp con phpmailer - problema invia due volte la email allo stesso utente PHP 0
O PhpMailer, Composer e Netbeans PHP 1
M Come inviare due mail diverse con phpmailer PHP 6
Z email phpmailer non arrivano PHP 0
B Invio email multiple PHPMAILER PHP 3
L Problema phpmailer,jquery e smtp PHP 1
P Problemi visualizzazione html con phpmailer PHP 6
P phpmailer e file_get_contents PHP 1
P Phpmailer ed wind-infostrada PHP 20
felino PHPMailer: Indirizzo IP e Immagine PHP 6
K form con phpmailer PHP 18
P Invio multiplo mail con phpmailer PHP 5
L problema classe phpmailer con la mia classe clsMail PHP 2
G problema con phpmailer 5.2.1 PHP 1
minatore Phpmailer PHP 6
M phpmailer multiplo in più pagine di un sito PHP 5
N PhpMailer SELECT e OPTION PHP 190
N PhpMailer e salvataggio allegato sul server PHP 11
R Phpmailer SMTP PHP 23
A problema con phpmailer PHP 10
metalgemini PHPmailer non arriva allegato PHP 10
piccino PHPMailer: inserire allegato PHP 5
E Invio email (era: phpmailer) PHP 52
F Phpmailer e l'indirizzo del mittente PHP 3
F PhpMailer PHP 5
borgo italia phpmailer?? PHP 7
C phpmailer PHP 7
emanuelevt phpmailer e altervista PHP 3
catellostefano Problema con la classe class.phpmailer.php PHP 5
SolidSnake4 PHPmailer errore PHP 4
A classe PHPMailer e mail di Libero PHP 1
S php mail vs phpmailer PHP 0
T Problemi phpmailer x invio ad indirizzi di libero. Aiutatemi! PHP 14

Discussioni simili