- Home
- Categorie
- Coding e Sistemistica
- PHP
- inviare mail da sito
-
inviare mail da sito
Ciao a tutti, stavo cercando di fare dei form x invio mail con php... premetto che il sito non è ancora online.
Ho provato a fare così:
ho fatto una cartella e dentro ci ho messo 2 file. uno con mail.php e dentro ho scritto:[PHP]<?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>');
}
?>[/PHP]E nell'altro, cioè index.html ci ho scritto:
[HTML]<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>[/HTML]Ora, ho aperto index.html e i form li vedo però quando premo "invia" mi viene la pagina con scritto tutti i codici di mail.php
Forse dipende dal fatto che il sito non è ancora online? C'è non funziona. La mail non me la invia.
-
Per l'invio delle mail da locale credo dovresti avere un server mail configurato...
-
E quindi? C'è cosa devo cambiare?
-
Devi installarti sul tuo computer PHP per eseguire gli script in PHP. Se utilizzi Windows e non vuoi sbatterti troppo, puoi provare a installare EasyPHP (lo trovi facendo una ricerca con Google).
-
Ma oltre a questo (avere cioè PHP+Apache+Mysql) dovrebbe configurare un server, magari mercury, ma io non l'ho mai configurato.
-
Ma se si installa EasyPHP è tutto già pronto.
-
Se sei in locale puoi installare PHP come detto sopra e configurare un server mail "esterno" nel php.ini. Puoi usare magari quello del tuo provider in modo che la funzione mail() utilizzi quei parametri (host e porta) per istradare il messaggio. Per intenderci, lo stesso che usi nella configurazione del tuo account mail su Outlook o altro client.
L'alternativa è, come già ti dicevano altri, installare un server mail sulla tua macchina.
Saluti
-
ok...grazie a tutto ma dove e come scrivo i parametri (tipo quelli di outlook)????cioè in che file???
-
Il file si chiama php.ini e la sua posizione può variare. In genere, se usi EasyPHP, dovresti trovarlo sotto C:\Programmi\EasyPHP\php\php.ini o qualcosa di molto simile.
E' il file di configurazione dell'interprete PHP e non serve solo per i parametri mail, quindi per avere una panoramica completa ti consiglio di andare qui:
php.net/manual/en/ini.list.php
php.net/manual/en/ini.core.phped in particolare:
-
c'è un modo per ricevere le email nel sito senza accedere alla casella di posta?
-
Se mandi un'e-mail a infotuosito.com, devi accedere a infotuosito.com per vedere le e-mail che sono state spedite.
Se vuoi leggere le e-mail inviate dal sito, oltre a mandare la e-mail potresti salvare il contenuto in un database. Se non sai come si scrive e si legge su un database, ti consiglio di leggere questa guida: php.html.it/guide/leggi/77/guida-php-e-mysql-pratica/