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

maurizio

Utente Attivo
19 Nov 2012
70
0
0
Buongiorno a tutti
sto realizzando una pagina di contatti ed ho inserito un form per inviare le email per i contatti.il form è presente nella pagina(contatti.html) che si collegata alla pagina mailto.php dove dice che l'email è stata inviata correttamente e si carica il redirect che torna nella pagina contatti.
il mio problema riguarda l'invio delle email anche al mittente oltre che al destinatario. ecco i form che ho inserito:
nella pagina contatti.html:

HTML:
<form method="post" name="modulo" action="mailto.php">
<table border="0" bgcolor="#EEEEEE" cellspacing="2" cellpadding="2">
  <tr>
    <td>Nome:</td>

    <td><input type="text" size="36" name="nome" maxlength="30"></td>
  </tr>
  <tr>
    <td>Email:</td>
    <td><input type="text" size="36" name="email" maxlength="30"></td>
  </tr>
  <tr>
    <td>Messaggio:</td>
    <td><textarea rows="7" cols="30" name="messaggio"></textarea></td>
  </tr>
  <tr>
  <td>&nbsp;</td>
  <td> <input type="button" value="Invia" onClick="Modulo()"> <input type="reset" value="Reset">
    </td>
  </tr>
</table>
 </form>


invece il codice nella pagina di mailto.php

PHP:
<?php
//varie info per email
$oggi = date("j F Y G:i");
$sito = "http://www.miosito.xxx";
$ip = "$_SERVER[REMOTE_ADDR]";
$browser = "$_SERVER[HTTP_USER_AGENT]";
$to = "mia [email][email protected][/email]";
$soggetto = "contatti da $sito";

if(trim($_POST['nome']) == "" OR trim($_POST['email']) == "" OR trim($_POST['messaggio']) == "") {
echo "<font color=\"#FF0000\" face=\"verdana\" size=\"2\"><strong>Tutti i campi sono obbligatori</strong></font>";

} else {

$body = "Richiesta inviata il $oggi da $ip - $browser \n\n";
$body .= "Nome: $_POST[nome] \nEmail: $_POST[email] \nMessaggio: $_POST[messaggio]";

mail("$to","$soggetto","$body");
?>
<html>
<meta http-equiv="Refresh" content="4; contatti.html">
<head>
<title>FalcinelliMaurizio.com</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>
<?php
}
?>


in poche parole devo inserire il codice che mi permette di inviare l'email anche al mittente(non conosco però l'indirizzo) infatti credo che dovrà essere richiamato in email della pagina contatti.html.

Vi ringrazio in anticipo per la risposta
Maurizio
 
Ultima modifica di un moderatore:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
mi sembra che nel form tu richieda l'indirizzo email del mittente
HTML:
<td>Email:</td>
    <td><input type="text" size="36" name="email" maxlength="30"></td>
  </tr>
quindi devi leggerla e (onde evitare errori nello script) ti convine verificarla con
PHP:
$email=filter_var($email, FILTER_VALIDATE_EMAIL);
che ritorna l'email se sintatticamente corretta o FALSE se sbagliata.
poi abbandona la funzione nativa mail() e passa alla classe phpmailer (o simile)
se guardi in giro per il forum vedrai che la funzione mail() da molti problemi con alcuni indirizzi e tu non sai quale potrebbe essere l'indirizzo del mittente
dai un occhio a:
https://www.mrw.it/php/articoli/inviare-email-classe-phpmailer_631.html

p.s.
usa i tag corretti per i codici (le tre iconcine dopo QUOTE, nell'ordine CODE, HTML, PHP)
 

maurizio

Utente Attivo
19 Nov 2012
70
0
0
mmm...più o meno ho capito cosa intendi..potresti per favore correggermi tu il codice, in php non ci capisco tanto..però la mia richiesta è un'altra..quando il cliente scrive un informazione in questi campi lo script invia un email a me...invece i vorrei inviargli anche una copia a lui in automatico...capite cosa intendo...chiedo aiuto dato che sono due giorni che esco pazzo a trovare le guide su internet :(:(
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
potresti provare così
PHP:
<?php
//...
$ip = "$_SERVER[REMOTE_ADDR]";
$browser = "$_SERVER[HTTP_USER_AGENT]";
//$to = "mia [email][email protected][/email]";
$soggetto = "contatti da $sito";
if(trim($_POST['nome']) == "" OR filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)=== false OR trim($_POST['messaggio']) == "") {
echo "<font color=\"#FF0000\" face=\"verdana\" size=\"2\"><strong>Tutti i campi sono obbligatori</strong></font>";

} else {
$to ="[email protected], ".$_POST['email'];//attento si usa la virgola non ;
//....
?>
in questo modo arriva a te e all'utente, però (es) se l'utente ha [email protected][B]gmail.com[/B] o [email protected][B]libero.it[/B] o altri simili l'email non gli arriva
alcuni host bloccano (non so perchè, ma probabilmente a causa degli header) le email inviate con mail(), per quello ti dico di passare a phpmailler
 

maurizio

Utente Attivo
19 Nov 2012
70
0
0
ok grazie mille :):)

ora mi studio phpmailler...il codice di questo phpmailler lo devo inserire in nel div della pagina contatti.html oppure nell'altra pagina mailto.php ?!

scusami se ti sto facendo tutte queste domande ma sto entrando ora in questo mondo:)
 

maurizio

Utente Attivo
19 Nov 2012
70
0
0
ok capito..quindi per sintetizzare dovrebbe uscire una cosa del genere:
contatti.html :(il form dell'email)
PHP:
 <form method="post" name="modulo" action="mailto.php">
<table border="0" bgcolor="#EEEEEE" cellspacing="2" cellpadding="2">
  <tr>
    <td>Nome:</td>

    <td><input type="text" size="36" name="nome" maxlength="30"></td>
  </tr>
  <tr>
    <td>Email:</td>
    <td><input type="text" size="36" name="email" maxlength="30"></td>
  </tr>
  <tr>
    <td>Messaggio:</td>
    <td><textarea rows="7" cols="30" name="messaggio"></textarea></td>
  </tr>
  <tr>
  <td>&nbsp;</td>
  <td> <input type="button" value="Invia" onClick="Modulo()"> <input type="reset" value="Reset">
    </td>
  </tr>
</table>
 </form>


mentre nella pagina mailto.php

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

//istanziamo la classe
$messaggio = new PHPmailer();
$messaggio->IsSMTP();
$messaggio->Host='Host SMTP';

//definiamo le intestazioni e il corpo del messaggio
$messaggio->From='[email protected]';
$messaggio->AddAddress('[email protected]');
$messaggio->AddReplyTo('[email protected]'); 
$messaggio->Subject='Prova.';
$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);

poi il codice html con il relativo messaggio inv
?>

solo che così ho un piccolo problema che mi da errore...cosa devo fare?!...devo cambiare qualcosa?..scusatemi ma sono all'inizio e vorrei capirlo un pò meglio.
 
Ultima modifica di un moderatore:

maurizio

Utente Attivo
19 Nov 2012
70
0
0
ecco qui l'errore:

Warning: require(phpmailer/class.phpmailer.php): failed to open stream: No such file or directory in /web/htdocs/www.falcinellimaurizio.com/home/mailto.php on line 3 Warning: require(phpmailer/class.phpmailer.php): failed to open stream: No such file or directory in /web/htdocs/www.falcinellimaurizio.com/home/mailto.php on line 3 Fatal error: require(): Failed opening required 'phpmailer/class.phpmailer.php' (include_path='.:/php5.3/lib/php/') in /web/htdocs/www.falcinellimaurizio.com/home/mailto.php on line 3


cosa devo fare?!..devo cambiare qualche parola nel codice?!..devo cambiare aggiungere qualche pagina in più?..dimenticavo di dirvi che uso aruba come server..
 

maurizio

Utente Attivo
19 Nov 2012
70
0
0
ora vi spiego cosa ho fatto di preciso.

sono andato sul sito ed ho scaricato la versione php4 di phpmailer
ho caricato la cartella senza cambiare nomi tramite filezilla nella mia root del sito su server linux di aruba
ho modificato il file mailto.php dove ho inserito il codice senza cambiare nessuna riga(dopo il codice php c'è il codice di html e javascript che conferma l'email inviata e il javascript torna nella pagina precedente)

fatto ciò mi da quell'errore...

altro non ho fatto...devo dire che il form "grafico" è nella pagina contatti.htm , che per caso devo richiamarlo alla pagina mailto.php?

ho provato a guardare tanti tutorial ma non riesco a capire di preciso dove sbaglio :(


qualcuno puoi darmi una mano?casomai cambiando le parole nel codice che dovrò inserire con la mia email,ecc...
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Scrivendo questa riga di codice:
PHP:
require "phpmailer/class.phpmailer.php";
stai dicendo di includere un file che si trova nella cartella phpmailer ma deve stare nella stessa cartella di mailto.php se scrivi così.
Allora c'è da chiedersi:
La tua pagina mailto.php è nella stessa cartella dove si trova phpmailer? (Cioè nella root) se non lo è dovresti cambiare il require con qualcosa tipo:
PHP:
require "./phpmailer/class.phpmailer.php";
i punti vanno dietro di una cartella. Puoi anche scrivere io percorso assoluto come mostrato in questa guida.
 

maurizio

Utente Attivo
19 Nov 2012
70
0
0
si il phphmailer si trova nella root principale insieme alle altre pagine mailto.php index.html contatti.html,ecc.. il nome della cartella è "varinsert_for_SPAW2"

quel codice:
PHP:
require "phpmailer/class.phpmailer.php";
lo devo inserire nella pagina mailto.php oppure in nel form di contatti.html?
questo è il codice di contatti.html:
HTML:
         <form method="post" name="modulo" action="mailto.php">
<table border="0" bgcolor="#EEEEEE" cellspacing="2" cellpadding="2">
  <tr>
    <td>Nome:</td>

    <td><input type="text" size="36" name="nome" maxlength="30"></td>
  </tr>
  <tr>
    <td>Email:</td>
    <td><input type="text" size="36" name="email" maxlength="30"></td>
  </tr>
  <tr>
    <td>Messaggio:</td>
    <td><textarea rows="7" cols="30" name="messaggio"></textarea></td>
  </tr>
  <tr>
  <td>&nbsp;</td>
  <td> <input type="button" value="Invia" onClick="Modulo()"> <input type="reset" value="Reset">
    </td>
  </tr>
</table>
 </form>

mentre il codice della pagina mailto.php:
PHP:
<?
//includiamo la classe PHPMailer
require "phpmailer/class.phpmailer.php";

//istanziamo la classe
$messaggio = new PHPmailer();
$messaggio->IsSMTP();
$messaggio->Host='Host SMTP';

//definiamo le intestazioni e il corpo del messaggio
$messaggio->From='[email protected]';
$messaggio->AddAddress('[email protected]');
$messaggio->AddReplyTo('[email protected]'); 
$messaggio->Subject='Prova.';
$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);
?>

quindi cosa devo fare?!..cosa devo modificare nel codice mailto.php?!...non riesco a capire bene le parole che devo cambiare e dove devo inserire i codici..grazie mille per l'aiuto :)
 
Ultima modifica di un moderatore:

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
No allora non dovrebbe essere un problema. L'errore dice che non riesce ad aprire il file e perché non lo trova. Verifica che nella cartella phpmailer c'è la pagina class.phpmailer.php.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
dai un occhio ai commenti
PHP:
<?php
//includiamo la classe PHPMailer metti l'once
require_once "phpmailer/class.phpmailer.php";
//istanziamo la classe
$messaggio = new PHPmailer();
//$messaggio->IsSMTP();//intanto togli questa e
//$messaggio->Host='Host SMTP';//questa
//possono servire per inviare da locale generelmente l'host remoto non le accetta
//ma se vuoi inviare da locale devi aggiungere anche
//messaggio->Host     = "smtp.tuo_host"; // SMTP servers, esempio se usi fastweb sarà
//$messaggio->Host     = "smtp.fastwebnet.it";
//$messaggio->Username = "tuo_username";  // SMTP username
//$messaggio->Password = "tua_password"; // SMTP password

//e aggiungi
$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";
//definiamo le intestazioni e il corpo del messaggio
$messaggio->From='[email protected]';
$messaggio->AddAddress('[email protected]');
$messaggio->AddCC('[email protected]');//invia copia al mittente (visibile) oppure metti
//$messaggio->AddBCC('[email protected]');//campo nascosto (meglio per la privacy)
$messaggio->AddReplyTo('[email protected]'); //questo ti serve per quando ti arriva l'email e fai rispondi
$messaggio->Subject='Prova.';
$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!';
}
//e queste non servono
//chiudiamo la connessione
//$messaggio->SmtpClose();
//unset($messaggio);
?>
e prova

p.s.
usa i tag giusti, a sx del tag quote, nell'ordine CODE, HTML, PHP
 

maurizio

Utente Attivo
19 Nov 2012
70
0
0
ok perfetto...nella cartella di phpmailer non ho trovato il file specificato...strano perchè ho scaricato tutta dal sito originale..

ora lo trovo su internet...

nel frattempo inserisco il codice nella pagina mailto.php

la struttura della pagina è così:

<php>
<html>con il redirect tramite javascript e il messaggio di invio in html

giusto?!
 

maurizio

Utente Attivo
19 Nov 2012
70
0
0
ok ragazzi ho risolto...scusatemi per le molte domande ma alla fine ci sono riuscito e grazie a voi :)

ora sto attendendo entrambi l'email :)
 

maurizio

Utente Attivo
19 Nov 2012
70
0
0
che non ho errori :)

però entrambi l'email ancora non mi arrivano..credo di aver cantato vittoria prima del traguardo :(:(
cosa posso fare?!

ho configurato tutto secondo i commenti che mi avete inviato...cosa manca da fare?!
 
Discussioni simili
Autore Titolo Forum Risposte Data
R Invio mail con allegati multipli PHP 0
R Invio mail con allegati da directory PHP 1
Daniele_Carrara Problema timeout - invio mail PHP 7
U PHP bottone per invio mail o ritorno al form PHP 15
G Invio mail con php da dati prelevati da un database PHP 9
AC1 [PHP] Invio Mail PHP 18
B [PHP] Invio mail automatico dopo compilazione form - db PHP 25
A [PHP] Problema invio mail con funzione mail() PHP 3
A [PHP] RISOLTO Invio Mail con Tabella PHP 2
paloppa [PHP] Invio mail da form dubbio PHP 17
F Form mail php errore invio PHP 5
Punix [PHP] problema script invio e-mail PHP 2
G Invio Mail con PHPMailer, problemi SMTP PHP 7
cobra_72 [PHP] problema invio multiplo allegati mail PHP 21
Z Limite invio newsletter con PHP - mail() PHP 4
E [Javascript] Messaggio di avvenuto invio mail non visualizzato Javascript 1
F Invio Mail con Javascript Javascript 25
E Rimuovere "dati in memoria" dopo invio mail [PHP] PHP 18
lucarpenter Settaggio invio mail allarme IP camera P2P IP Cam e Videosorveglianza 9
I form invio mail HTML e CSS 1
F Invio automatico mail php PHP 0
Francesco Polese Errore form invio mail+php PHP 22
R Errore invio mail in php PHP 1
M Errore invio mail da php Posta Elettronica 5
P invio mail da form con dati php PHP 7
webmachine Come programmare l'invio di una mail in PHP? PHP 1
W Estrapolare un indirizzo mail di un form durante l'invio PHP 5
Z Invio mail da telecamere HIKVision - HELP!!! IP Cam e Videosorveglianza 0
M WANSCAM Invio allarme tramite mail IP Cam e Videosorveglianza 4
M configurazione invio mail php PHP 25
I invio mail da form PHP 1
S Form invio mail html, con invio tramite file denominato invio.php PHP 8
asevenx link cliccabile che non funziona con invio mail PHP 1
P Invio mail diversi destinatari PHP 10
W problemi incomprensibili invio mail dal sito in PHP PHP 3
M Invio mail con destinatari da mysql con inserimento di nome e cognome PHP 6
Il Matta Problema Form e invio mail PHP 2
G WansCam invio mail IP Cam e Videosorveglianza 11
B Problema form mail per invio doppio allegato PHP 1
F invio di una mail tramite script php PHP 6
D [Risolto] Invio mail a blocchi Classic ASP 31
A Problema orario invio mail per form PHP 4
S [risolto] Invio scheda dettagliata in mail Classic ASP 6
antonio_oti Invio di e-mail tramite PHP PHP 23
O [PHP] Problema Invio Mail PHP 2
I [Risolto] Problemi invio e-mail con CDOSYS con domini @live.it Classic ASP 4
S php form invio mail PHP 3
M problemi invio e-mail Posta Elettronica 8
L Form con invio mail PHP 1
P Invio multiplo mail con phpmailer PHP 5

Discussioni simili