- Home
- Categorie
- Coding e Sistemistica
- PHP
- Modulo email
-
ok ti ringrazio ora provo a lavorarci!
molto gentile!
-
Ciao benvenuto
Ottima la soluzione di Ludus
comnque per fare una cosa proprio semplice:
salva questo codice in una pagina chiamata mail.php (o un altro nome da te scelto, l'importante poi è cambiare nell'altro codice il nome)
<?php // ************Inizio Configurazione*************** //Indirizzo emai a cui inviare i msg $mailto = "TUO_INDIRIZZO"; //Oggetto della mail $subject = "OGGETTO DELLA MAIL"; //Pagina da mostrare dopo l'invio $redirect = "URL_PAGINA"; // ************Fine Configurazione**************** foreach($HTTP_POST_VARS as $key => $value) { $message .= $key . ': ' . $value; $message .= "\n"; } if (@mail($mailto, $subject, $message)) { header("Location: $redirect"); } else { // Messaggio in caso di errore echo(' Impossibile inviare. Torna nella pagina precedente e prova ancora, grazie.</p>'); } ?>
Nella pagina dove vuoi inserire il modulo dei contatti metti questo:
<form name="form1" id="form1" method="post" action="mail.php"> Nome</p> <input type="text" name="nome" /> </p> Cognome</p> <input type="text" name="cognome" /> </p> Email</p> <input type="text" name="email" /> </p> Contenuto</p> <textarea name="contenuto" cols="50" rows="10"></textarea> </p> <input name="Invia" type="submit" value="Invia" /> </p> </form>
è molto semplice (forse troppo), ma puoi anche aggiungere altri campi senza grossi problemi.
Sposto la discussione in php, che è la sezione più adatta
-
Scusate l'ignoranza non conosco assolutamente niente di php, ma volevo provare questi moduli, li ho copiati e salvati in php li ho pubblicati ma mi appare una pagina bianca dove sbaglio ?
Il codice in quale sezione va inserito ?
Aprendo una nuova pag. nel FrontPage 2003 nella sezione codice mi appare
questo:
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Nuova pagina 1</title>
</head><body>
</body>
</html>
Tra <body> e <body> forse ?
-
@gelova said:
Tra <body> e <body> forse ?Se ti riferisci al mio script il secondo pezzo si,va nel tag body.
Il primo invece va in una pagina pulita che chiami mail.php
-
@claudioweb said:
Se ti riferisci al mio script il secondo pezzo si,va nel tag body.
Il primo invece va in una pagina pulita che chiami mail.php
Scusami ma il tuo metodo funziona anche in pagine in html?
-
Ciao shaboo88, benvenuto nel forum
Per inviare una mail è necessario che il server la spedisca, quindi almeno la seconda pagina (quella che avevo esplicitamente detto di chiamare email.php) deve essere in php e non .html.
Invece la pagina con il modulo può essere .html.
Ciao
-
claudio ho fatto così:
[LEFT]<?php
// Inizio Configurazione***
//Indirizzo emai a cui inviare i msg
$mailto = [EMAIL="[email protected]"][email protected][/EMAIL];
//Oggetto della mail
$subject = "servizi";
//Pagina da mostrare dopo l'invio
$redirect = "www.paolo-isabella.com";
// Fine Configurazione****foreach($HTTP_POST_VARS as $key => $value) {
$message .= $key . ': ' . $value;
$message .= "\n";}
if (@mail($mailto, $subject, $message)) {header("Location: $redirect");
} else {
// Messaggio in caso di errore
echo('Impossibile inviare. Torna nella pagina precedente e prova ancora, grazie.</p>');
}
?>la pagina la visualizza dopo l'invio ma non mi arriva l'email... quale potrebbe essere il problema? grazie[/LEFT]
-
Fammi vedere cosa hai fatto... posta l'indirizzo dalla pagina col modulo
-
@claudioweb said:
Fammi vedere cosa hai fatto... posta l'indirizzo dalla pagina col modulo
ok ...
ecco il contenuto
http://www.paolo-isabella.com/prova/pagina prova
-
Apro una piccolissima parentisi su questo tema.
Spesso, troppo spesso, si parla di SQL Injection e troppo poco spesso di Email Injection in Italia soprattutto.
Mentre nel primo caso gli "eventuali" danni li pagate solo sulla vostra pelle (perdita o monipolazione dei dati presenti nel vostro db), nel secondo caso potete anche beccarvi delle belle denunce da parte di terzi per azioni di spam di cui VOI siete responsabili.
Analizzate meglio il protocollo utilizzato dalle email, insieme ai metodi per manipolarne i destinatari, fatto ciò non avrete più alcuna esitazione ad aggiungere qualcosa del genere nel vostro codice:
if (eregi("\r",$destinatarioemail) || eregi("\n",$destinatarioemail)) exit;
Cordialmente
Alessio
-
@diliberto said:
Apro una piccolissima parentisi su questo tema.
Spesso, troppo spesso, si parla di SQL Injection e troppo poco spesso di Email Injection in Italia soprattutto.
Mentre nel primo caso gli "eventuali" danni li pagate solo sulla vostra pelle (perdita o monipolazione dei dati presenti nel vostro db), nel secondo caso potete anche beccarvi delle belle denunce da parte di terzi per azioni di spam di cui VOI siete responsabili.
Analizzate meglio il protocollo utilizzato dalle email, insieme ai metodi per manipolarne i destinatari, fatto ciò non avrete più alcuna esitazione ad aggiungere qualcosa del genere nel vostro codice:
if (eregi("\r",$destinatarioemail) || eregi("\n",$destinatarioemail)) exit;
Cordialmente
Alessio
Ciao Alessio :), ma il controllo da te consigliato ritieni sia utile anche nel caso dello script consigliato da me?? Lì la variabile che indica il destinatario è semplicemente una costante assegnata nel file php... :bho:Comunque hilary duff sicuro che nel file mail.php hai messo il codice che ho indicato io??? Mi pare strano stampi a video delle righe di testo che non sono proprio presenti...
[CENTER]Il modulo non è stato inviato per le seguenti ragioni[/CENTER]
[CENTER] Occorre un indirizzo email valido per continuare ()
Premere indietro nel browser e riprovare.[/CENTER]devi metterci dentro questo
<?php // ************Inizio Configurazione*************** //Indirizzo emai a cui inviare i msg $mailto = "TUO_INDIRIZZO"; //Oggetto della mail $subject = "OGGETTO DELLA MAIL"; //Pagina da mostrare dopo l'invio $redirect = "URL_PAGINA"; // ************Fine Configurazione**************** foreach($HTTP_POST_VARS as $key => $value) { $message .= $key . ': ' . $value; $message .= "\n"; } if (@mail($mailto, $subject, $message)) { header("Location: $redirect"); } else { // Messaggio in caso di errore echo(' Impossibile inviare. Torna nella pagina precedente e prova ancora, grazie.</p>'); } ?> ``` In cui come vedi non ci sono proprio quelle parole :bho:
-
Ciao Claudioweb,
facendo un' approfondita analisi sull' Email Injection emerge che il tutto si fonda sulla possibilità di inserire un ritorno a capo negli header, aggiungendo altri header a piacere.
Pensare di filtrare \r e \n risolve il problema alla radice... non mi pare il tuo script abbia questi filtri, come nessuno degli altri presenti in questo thread, da qui il mio intervento.
Purtroppo molti form con invio di email sono utilizzati come "testa di ponte" da malintenzionati per fare spam senza poter esser rintracciati.
La questione è che il più delle volte il Webmaster vittima dell' Injection, riesce ad accorgersi del problema solo dopo una denuncia o segnalazione da parte di terzi, e dopo che il suo server ha mandato chissà quante migliaia di email a chissà chi
In linea di massima tali sistemi vengono usati per mandare vagonate di email a vagonate di indirizzi diversi; è altamente probabile o quantomeno potrebbe succedere che uno di questi sia errato o inesistente quindi fate attenzione se vi tornavano degli undelivered di email con un mittente diverso dal vostro: è uno dei classici campanelli di allarme.
Cordialmente
AlessioEdito per aggiungere, rileggendo meglio le tue righe, che una buona conoscenza del protocollo usato per le email, qualche /n e qualche /r il destinatario lo ridefinisci nel corpo della mail ignorando quello da te indicato.
Spero di esser stato chiaro e aver colmato ulteriori dubbi e perplessità in merito.
-
claudio prova adesso... grazie ^^'
-
Diliberto ti ringrazio per avermi fatto scoprire questo problema, che ammetto ingnoravo.
Di solito evitavo e sconsigliavo script che si basavano su un indirizzo email del destinatario inserito nell'html, e facilmente falsificabile.
Ma non avevo mai pensato che qualcuno potesse operare come da te indicato.
Penso mi leggerò un po' di articoli sull'argomento.hilary duff che devo provare, sembrerebbe funzionare o sbaglio?
-
funziona ma non mi arrivano 'email....
-
@hilary duff said:
funziona ma non mi arrivano 'email....
Capisco... ma io he posso fare? Dimmelo tu...
Come detto già altre volte, per la veggenza mi sto attrezzando... ma ancora non sono pronto Che ne so che hai combinato...
Il codice è quello, e con un copia-incolla dovrebbe funzionare...
Anzi come detto da Diliberto, funziona fin troppo... nel senso che anche altri potrebbero usarlo per inviare email.
Prova a verificare che hai personalizzato correttamente l'email. O magari cambia casella di posta. Più di questo non saprei davvero che dirti :bho:
-
ok... cmq grazie.. ti farà sapere... ^^' ciao ps ma dopo quando dovrebbe arrivare l'email? ^^'
-
ci sono riuscito alleluja... cmq grazie merito tuo... ^^'
-
ciao claudio
pure io utilizzo il semplicissimo form che hai indicato.
fino a qualche tempo fà tutto a posto.
adesso mi arriva l'email di avviso dove prima leggevo appunto la comunicazione, ma adesso non trovo scritto piu niente. praticamente mi arriva un email vuota. mettendo in conto che non ho modificato nulla dall'ultima volta. che puo essere?
grazie
ciao
-
Ma non trovi mai niente neppure se il messaggio lo scrivi tu, oppure ti arrivano email vuote?
Se così fosse, potrebbe trattarsi di qualche tentativo di spam.Se invece non funziona neppure quando scrivi tu, ti consiglio di ricontrollare il codice html e php.
Ciao