-
Mail
Ciao!
Questo script mi funziona...è piuttosti antiquato oppure può andare bene?
Una cosa che mi fà paura è che con qualche **gestore possa non arrivare. **
Come fare per farmi passare questa paura?
[php]<?php
$indirizzo_dest= "";
$tendina=$_POST['tendina'];
$nome=$_POST['nome'];
$cognome=$_POST['cognome'];
$rep=$_POST['rep'];
$email=$_POST['email'];
$oggetto2=$_POST['oggetto2'];
$hai_bisogno_di=$_POST['hai_bisogno_di'];
$messaggio="\noggetto:$tendina\n$nome $cognome ($email) - $rep\nha bisogno di: $hai_bisogno_di\n";
print("<font size='5'>Invio E-Mail<br><br /></font>");
print("<br />Questi sono i dati che hai inserito:<br /><br />
Destinatario: <b>$indirizzo_dest</b><br />
Messaggio: <b>$messaggio</b>");
$header .="From: <$mittente>";
$messaggio .="";
if(mail($indirizzo_dest, $oggetto2, $messaggio, $header))
{
print("<br />Il tuo messaggio è stato inviato con successo!");
print("<a href='' onClick='javascript:window.close();';><b>Chiudi finestra</b><a/>");
}
else
{
print("<br />Errore invio E-mail!!<br />Torna indietro e riprova!!");
}
?>[/php]Grazie!
-
Buongiorno Fabrizio23,
se l'email non arriva non può essere a causa dello script di invio.
Andando nel dettaglio, l'email arriva sempre, a meno che sia sbagliato l'indirizzo del destinatario, ma può essere considerato come spam e quindi filtrato.
Quindi quello che devi cercare è come avere un server in grado di farsi riconoscere come mittente non spam. Qui si entra nel complesso, però in linea di principio devi controllare che il tuo domain non sia in black list, così come non lo sia l'ip che utilizza, magari condiviso.In realtà è una lotta impari, perché puoi comunque venire identificato come spam se gli utenti ti segnalano come tale.
-
Grazie!
-
Ciao!
Ho aggiunto e modificato:
[PHP]<?php
$indirizzo_dest= "mia_mail.libero.it";
$nome=$_POST['nome'];
$cognome=$_POST['cognome'];
$eta=$_POST['eta'];
$residenza=$_POST['residenza'];
$studi=$_POST['studi'];
$altro=$_POST['altro'];
$reparto=$_POST['reparto'];
$anno_laurea=$_POST['anno_laurea'];
$email=$_POST['email'];
$messaggio="\n$nome $cognome ($email) - Età: $eta\nCittà di residenza: $residenza\nPercorso di studio: $studi\nAltro: $altro\nUnità operativa: $reparto\nAnno laurea/diploma: $anno_laurea\nE-mail: $email\n";
print("<font size='5'>Invio E-Mail<br><br /></font>");
print("<br />Questi sono i dati che hai inserito:<br /><br />
Destinatario: <b>$indirizzo_dest</b><br />
Messaggio: <b>$messaggio</b>");
$header .="From: <$mittente>";
$messaggio .="";
if(mail($indirizzo_dest, $nome, $cognome, $eta, $residenza, $studi, $altro, $reparto, $anno_laurea, $email, $messaggio, $header))
{
print("<br />Il tuo messaggio è stato inviato con successo!");
print("<a href='' onClick='javascript:window.close();';><b>Chiudi finestra</b><a/>");
}
else
{
print("<br />Errore invio E-mail!!<br />Per favore compila tutti i campi");
}
?>[/PHP]
Mi dà questo warning:Warning: mail() expects at most 5 parameters, 12 given in D:\Inetpub\webs\miosito\invio_mail.php on line 20
Errore invio E-mail!!
Per favore compila tutti i campiLa riga 20 è questa:
[PHP] if(mail($indirizzo_dest, $nome, $cognome, $eta, $residenza, $studi, $altro, $reparto, $anno_laurea, $email, $messaggio, $header))[/PHP]
Cosa sbaglio?
Grazie!
-
La funziona mail accetta 5 parametri, dei quali due sono facoltativi. Tu dai in pasto alla funzione mail 12 parametri!
Se conosci l'inglese ti consiglio questa pagina:
php.net/manual/en/function.mail.php
-
Capito capito, vedrò, ti ringrazio
-
Anche se conosco poco l'inglese
-
Dovrei mettere questo?
$mail_sent = @mail( $to, $subject, $message, $headers );
-
Si da quello che ricordo una possibile firma è questa.
-
Il tuo script può funzionare, basta che nella riga 20 sostituisci la funzione mail con:
mail($indirizzo_dest, $oggetto, $messaggio, $header)
Definisci però la variabile $oggetto, perché l'ho aggiunta, ma non è nel tuo codice.
-
Così? la variabile oggetto posso metterla così, giusto?
[PHP]
<?php
$indirizzo_dest= "mia_mail.libero.it";
$oggetto="";
$nome=$_POST['nome'];
$cognome=$_POST['cognome'];
$eta=$_POST['eta'];
$residenza=$_POST['residenza'];
$studi=$_POST['studi'];
$altro=$_POST['altro'];
$reparto=$_POST['reparto'];
$anno_laurea=$_POST['anno_laurea'];
$email=$_POST['email'];
$messaggio="\n$nome $cognome ($email) - Età: $eta\nCittà di residenza: $residenza\nPercorso di studio: $studi\nAltro: $altro\nUnità operativa: $reparto\nAnno laurea/diploma: $anno_laurea\nE-mail: $email\n";
print("<font size='5'>Invio E-Mail<br><br /></font>");
print("<br />Questi sono i dati che hai inserito:<br /><br />
Destinatario: <b>$indirizzo_dest</b><br />
Messaggio: <b>$messaggio</b>");
$header .="From: <$mittente>";
$messaggio .="";
if(mail($indirizzo_dest, $oggetto, $messaggio, $header)
))
{
print("<br />Il tuo messaggio è stato inviato con successo!");
print("<a href='' onClick='javascript:window.close();';><b>Chiudi finestra</b><a/>");
}
else
{
print("<br />Errore invio E-mail!!<br />Per favore compila tutti i campi");
}
?>
[/PHP]
-
Io ci scriverei qualcosa però... E' l'oggetto della mail ed è meglio che non sia vuoto.
Visto che ci sei potresti metterci un tag tipo "[E-mail dal sito miosito]", così da outlook puoi impostare una regola che ti mette in una cartella apposita le email che hanno all'interno dell'oggetto "[E-mail dal sito miosito]".
-
Così può andare?
[php]<?php
$indirizzo_dest= "mia_mail.libero.it";
$oggetto=['email_dal_mio_sito'];
$nome=$_POST['nome'];
$cognome=$_POST['cognome'];
$eta=$_POST['eta'];
$residenza=$_POST['residenza'];
$studi=$_POST['studi'];
$altro=$_POST['altro'];
$reparto=$_POST['reparto'];
$anno_laurea=$_POST['anno_laurea'];
$email=$_POST['email'];
$messaggio="\n$nome $cognome ($email) - Età: $eta\nCittà di residenza: $residenza\nPercorso di studio: $studi\nAltro: $altro\nUnità operativa: $reparto\nAnno laurea/diploma: $anno_laurea\nE-mail: $email\n";
print("<font size='5'>Invio E-Mail<br><br /></font>");
print("<br />Questi sono i dati che hai inserito:<br /><br />
Destinatario: <b>$indirizzo_dest</b><br />
Messaggio:Benvenuto nel sito!<b>$messaggio</b>");
$header .="From: <$mittente>";
$messaggio .="";
if(mail($indirizzo_dest, $oggetto, $messaggio, $header)
))
{
print("<br />Il tuo messaggio è stato inviato con successo!");
print("<a href='' onClick='javascript:window.close();';><b>Chiudi finestra</b><a/>");
}
else
{
print("<br />Errore invio E-mail!!<br />Per favore compila tutti i campi");
}
?> [/php]
-
Potresti usare anche la classe PHPMailer in modo che puoi inviare email contenenti HTML, immagini, allegati e, magari, creare una newsletter per inviare le mail a tutti gli utenti di un database.
La utilizzo nel mio sito, mi trovo benissimo e la consiglio a tutti.Ciao
-
Ciao Roxas, per ora voglio utilizzare questa. Sai dirmi se è giusta?
-
Sostituisci $oggetto=['email_dal_mio_sito']; con $oggetto='[email_dal_mio_sito]';
Poi ad occhio dovrebbe andare...
-
Grazie, proverò dopo le vacanze, che ora preparo valigie e poi viaaaa!
Grazie!