- Home
- Categorie
- Coding e Sistemistica
- PHP
- Modulo email
-
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
-
purtroppo si claudio
quando scrivo io non spunta nulla lo steeso
vuoi vedere il codice che ho scritto?
lo controllato diverse volte ma niente
al massimo pensi possa essere un problema di server di posta?
ciao
-
Prova lo stesso script su un altro sito e vedi se va...
Se fosse un problema di server penso non arriverebbe nulla, non una mail vuota...
Però tutto può essere...
-
grazie claudio
il link è questo
[html]http://www.paleobusiness.com/segna url.html[/html]
e questo è il file mail.php che ho fatto
[html]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento senza titolo</title>
</head>
<body>
<?php
// Inizio Configurazione***
//Indirizzo emai a cui inviare i msg
$mailto = "[email protected]";
//Oggetto della mail
$subject = "paleobusiness.com";
//Pagina da mostrare dopo l'invio
$redirect = "index.html";
// 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>');
}
?>
</body>
</html>
[/html]ciao
-
Hai provato su un altro sito?
Comunque il file mail.php deve contenere solo in codice che avevo indicato, tutto il resto che hai messo di tuo può solo creare problemi. Eliminalo.
Non ho tempo per correggerlo io.
Lo script è il più semplice possibile.
Se non va su quel sito, prova come detto su un altro.
Ciao
-
purtroppo niente claudio. non và, la mail in questione pesa 1k, cio mi fa presupporre che ci sia qualcosa, invece niente.
per quanto vaale il file php, non ho aggiunto nulla. praticamente funzionava tutto, ed un bel giorno piu niente, senza che andassi a modificare nulla. cmq ora provo a rifare ex novo il file mail.phpappena ho notizie ti faccio sapere.
grazie di tutto.