Invio e mail al destinatario con invio di una copia al mittente

io ho pensato così

$messaggio->From='[email protected]';(va a prendere l'indirizzo email inserito dal cliente nella pagina contatti
$messaggio->AddAddress('[email protected]'); (il mio indirizzo email)

perchè altrimenti non so l'indirizzo email del cliente che andrà a scivermi
 
ciao
ecco dove penso sia l'inghippo
1) se il destinatario sei tu, qui devi mettere il tuo indirizzo
$messaggio->AddAddress('tuo@tuo_dominio.it');
2) per fare le prove metti il tuo anche su
$messaggio->AddCC('tuo@tuo_dominio.it'');
se carichi la pagina e la chiami
http :// www. tuo_dominio.it/nome_cartella/mailto.php
dovrebbero arrivarti due email con scritto ciao

poi dopo per renderlo funzionante
devi leggere i $_POST che provengano dal form (per fare le prove nei camp di input nome e email metti il tuo e in messaggio quello che vuoi)
es.
PHP:
<?php
//......
$nome=$_POST['nome'];
$mittente=$_POST['email'];
$msg=$_POST['messaggio'];
//verificare i valori inviati e in caso di errore riinviare al form
//istanziare la classe......
$messaggio->From=$mittente; 
$messaggio->AddAddress('tuo@tuo_dominio.it');
$messaggio->AddCC($mittente);//invia copia al mittente (visibile) oppure metti
//$messaggio->AddBCC($mittente);//campo nascosto (meglio per la privacy)
$messaggio->AddReplyTo($mittente); //questo ti serve per quando ti arriva l'email e fai rispondi
$messaggio->Subject='quello che vuoi';
$testo="messaggio da $nome/n";
$testo.="------------";//se mandi via in formato html potresti mettere $testo.="<hr>";
$testo.=$messaggio;
$messaggio->Body=nl2br(stripslashes($testo));
//e tutta la parte di invio
//e il ritorno automatico a dove vuoi
?>
 
così mi da questo errore:

Fatal error: Call to undefined method stdClass::AddAddress() in /web/htdocs/www.falcinellimaurizio.com/home/mailto.php on line 9

ho cambiato solo l'email in

$messaggio->AddAddress('primo [email protected]');
$messaggio->AddCC('secondo [email protected]');


ti ho postato l'intera pagina di mailto.php così capisci meglio gli errori che faccio :)


<?php
//......
$nome=$_POST['nome'];
$mittente=$_POST['email'];
$msg=$_POST['messaggio'];
//verificare i valori inviati e in caso di errore riinviare al form
//istanziare la classe......
$messaggio->From=$mittente;
$messaggio->AddAddress('primo [email protected]');
$messaggio->AddCC('secondo [email protected]');//invia copia al mittente (visibile) oppure metti
//$messaggio->AddBCC($mittente);//campo nascosto (meglio per la privacy)
$messaggio->AddReplyTo($mittente); //questo ti serve per quando ti arriva l'email e fai rispondi
$messaggio->Subject='Prova';
$testo="messaggio da $nome/n";
$testo.="------------";//se mandi via in formato html potresti mettere $testo.="<hr>";
$testo.=$messaggio;
$messaggio->Body=nl2br(stripslashes($testo));
//e tutta la parte di invio
//e il ritorno automatico a dove vuoi
?>


<html>
<meta http-equiv="Refresh" content="4; contatti.html">
<head>
<title>mio.sito</title>
</head>

<body>
<div align="center">
<font size="4" face="verdana"><strong>Email inviata con successo!<br>
A breve i nostri webmaster ti risponderanno. <br>
Attendi l'aggiornamento della pagina...</strong></font>
<br><br>

</div>
</body>
</html>


però con l'altro codice non mi dava nessun problema ma però non ricevo l'email..

cosa devo fare?!
nel caso potresti farmi tu il codice?..se vuoi ti invio tramite pm l'email da inserire o i relativi contenuti...scusami ma sono un pò imbranato
 
ciao
ecco, non cambire nulla, solo in $messaggio->AddAddress scrivi SOLO il tuo indirizzo email,
cosa c'entra
('primo [email protected]')?
carica sia l'html che il php e provalo chiamando il file html

PHP:
<?php
//inizi con la verifica dei post (essenziale)
$nome=strip_tags(trim($_POST['nome']));
$mittente=trim($_POST['email']);
$msg=htmlspecialchars(trim($_POST['messaggio']));
//metto un messaggio di errore a vuoto
$errori="";
//verifico che il nome non sia vuoto
if($nome==""){$errori.="non hai inserito il nome<br />";}
//verifico la correttezza dellindirizzo
if(!filter_var($email, FILTER_VALIDATE_EMAIL)){$errori.="l'indirizzo email non è corretto o vuoto<br />";}
//verifico che il messaggio non sia vuoto
if($msg==""){$errori.="il messaggio non può essere vuoto<br />";}//eventualmente verificare anche la lunghezza minima
//se la variabile $errori è rimasta vuota NON sono stati commessi errori
if($errori !=""){//sono stati commessi errori
	//stampo il messaggio di errore e ritorno al form
	echo "<h1>$errori</h1>";
	echo "<meta http-equiv='Refresh' content='4; URL=contatti.html'>";
}else{//non ci sono errori quindi spedisco
	//includiamo la classe PHPMailer metti l'once
	require_once "phpmailer/class.phpmailer.php";
	//istanziamo la classe
	$messaggio = new PHPmailer();
	$messaggio->IsHTML(true); // invio l'email in formato HTML può essere che ti serva in seguito
	$messaggio->SetLanguage('it','language/');//ti da i messaggi in italiano
	$messaggio->Subject="oggetto dell'email";//qui puoi scrivere es. "richiesta informazioni"
	//definiamo le intestazioni e il corpo del messaggio
	$messaggio->From=$mittente;
	$messaggio->AddAddress('[email protected]');//qui devi scrivere !!SOLO!! il tuo indirizzo email (cosa c'entra primo?)
	$messaggio->AddBCC($mittente);// cosa c'entra scriverci secondo??
	$messaggio->AddReplyTo($mittente); //questo ti serve per quando ti arriva l'email e fai rispondi
	//preparo il testo del messaggio
	$testo="messaggio da $nome/n";
	$testo.="<hr>";
	$testo.=$messaggio;
	$messaggio->Body=nl2br(stripslashes($testo));
	//definiamo i comportamenti in caso di invio corretto 
	//o di errore
	if(!$messaggio->Send()){ 
  		$ok_ko="errore di trasmissione, riprova più tardi";
	}else{ 
  		$ok_ko="email inviata correttamente, sarai contattato quanto prima";
	}
	//visualizzi il messaggio
	echo "<h1>$ok_ko</h1>";
	//e torni al form o dove vuoi, basta che tu cambi il nome dell URL
	echo "<meta http-equiv='Refresh' content='4; URL=contatti.html'>";
}
?>
 
ho inserito il linguaggio in mailto.php ed ho cambiato solo l'indirizzo email che mi hai detto tu ma nulla...mi da questo errore
l'indirizzo email non è corretto o vuoto


cosa devo fare? ho provato a cambiare anche indirizzo usando quello del dominio, di tiscali, di gmail e di alice...nulla sempre lo stesso errore!

cosa devo fare?!
 
ciao
scusa ho fatto un errore io :(
nel post ho messo
$mittente=trim($_POST['email']);
e nella verifica
if(!filter_var($email, FILTER_VALIDATE_EMAIL)){$errori.="l'indirizzo email non è corretto o vuoto<br />";}

correggi in
if(!filter_var($mittente, FILTER_VALIDATE_EMAIL)){$errori.="l'indirizzo email non è corretto o vuoto<br />";}
 
ok ho provato a cambiare ma mi da questo errore

Catchable fatal error: Object of class PHPMailer could not be converted to string in /web/htdocs/www.falcinellimaurizio.com/home/mailto.php on line 35
 
ciao
ha ragione php
correggi
$testo.=$messaggio;
in
$testo.=$msg;

edit
avevo fatto il copia/incolla di quello che ho io e mi sono dimenticato alcune correzzioni per adattarlo
 
Ultima modifica:
modificato :)
ho provato e non mi da errori...ora attendo entrambi l'email...questo serve anche per spedire le email sia al mittente che al destinatario giusto?!
 
ok sono arrivate entrambi l'email...tutto bene grazie a voi..

ora vi lascio in pace :)


come posso ringraziarti per l'aiuto?!
 
ciao
si, invia due email una a te ed una all'indirizzo che il mittente scrive nel form.
guarda che delle volte ci vuole un po' di tempo prima che ti arrivi.
in un post di un altro utente abbiamo perso la testa per trovare gli errori che non c'erano. prova e riprova dopo tre giorni gli sono arrivate una ventina di email che inviava per prova
 
si si scusami infatti :)
l'attesa è la cosa che odio di più :)

però pensavo peggio....grazie mille ancora...davvero dei geni siete :)

posso aggiungere qualcos'altro per rendere il mio sito migliore?!
 

Discussioni simili