- Home
- Categorie
- Coding e Sistemistica
- PHP
- Xampp e invio email in locale
-
Xampp e invio email in locale
Ciao a tutti!
sto provando ad inviare email da una pagina in locale ma non riesco. Ho sentito anche parlare di phpmailer ma non so come funziona. Uso Xampp. Qualcuno mi può dare qualche consiglio e/o indicare una guida? vi ringrazio in anticipo. Buona giornata!
-
Sono impazzito anche io per questo problema e ti scrivo l'unico metodo funzionante che ho trovato. Io lo uso con un account Gmail, con altri gestori dovresti modificare i paramentri, ma non ti do garanzia perchè non ho provato. Io uso XAMPP in una cartella di nome XAMPP1.8.3, quindi tu dovrai modificare in base al nome della tua cartella. Ricordati anche di togliere i punti e virgola, se ci sono, davanti alle righe che ti indico:
apri il file php.ini nella cartella PHP di XAMPP e togli il punto e virgola (io ce l'ho alla riga 1009) davanti a
extension=php_openssl.dll
poi cerchi la sezione [mail function] (dovrebbe essere la riga 1129) modificando i valori in
SMTP = smtp.gmail.com
smtp_port = 587sendmail_from = latuaemail
sendmail_path = ""\xampp1.8.3\sendmail\sendmail.exe" -t"
ovviamente al posto di "latuaemail" devi scrivere il tuo indirizzo di posta Gmail. Poi esci dalla cartella PHP e vai in quella SENDMAIL e modifichi il file sendmail.ini. Cerchi la sezione [sendmail] (riga 6) e metti questi valori:
smtp_server=smtp.gmail.com
smtp_port=587
smtp_ssl=autoauth_username=latuaemail
auth_password= (qui devi scrivere la tua password di posta elettronica senza le parentesi)force_sender=latuaemail
Se ci sono togli i punti e virgola davanti alle linee indicate e togli anche da
error_logfile=error.log
debug_logfile=debug.logDovrebbe essere tutto.
Ora se provi uno script php con la funzione mail() dovrebbe funzionare anche da locale e le email risulteranno spedite dall'indirizzo che hai indicato nelle righe "latuaemail".Ciao.
-
Ciao Oslino.
Ho configurato un pc che non usavo, con xampp, e lo uso come server in casa. xampp funziona a dovere, mostra tutto verde.... Riesco ad accedere alle mie pagine dalla rete e anche da esterno, perché ho configurato un dns. Riesco persino a accedere al mio phpmyadmin e a caricarci tabelle...
Nel server ho voluto provare joomla_3, che come saprai è un "editor" per pagine web. Purtroppo quando un nuovo utente compila il modulo di registrazione, non mi arriva l'email per convalidare l'accesso... (ne a me ne a lui). Joomla_3 non da errore...
Ho configurato mercury come hai scritto sopra, riavviato... ma niente. Avresti suggerimenti per favore?
Grazie.
-
@PaoloChiavetta said:
Ciao Oslino.
Ho configurato un pc che non usavo, con xampp, e lo uso come server in casa. xampp funziona a dovere, mostra tutto verde.... Riesco ad accedere alle mie pagine dalla rete e anche da esterno, perché ho configurato un dns. Riesco persino a accedere al mio phpmyadmin e a caricarci tabelle...
Nel server ho voluto provare joomla_3, che come saprai è un "editor" per pagine web. Purtroppo quando un nuovo utente compila il modulo di registrazione, non mi arriva l'email per convalidare l'accesso... (ne a me ne a lui). Joomla_3 non da errore...
Ho configurato mercury come hai scritto sopra, riavviato... ma niente. Avresti suggerimenti per favore?
Grazie.Ciao Paolo,
il sistema indicato sopra è per Sendmail, non per Mercury. Nella root principale di Xampp dovresti trovarti diverse cartelle tra cui una che si chiama "sendmail" (oltre a quella MercuryMail, ma non è il nostro caso). Dovresti provare a settare il file sendmail.iniFai poi una prova con un semplice script mail() caricato nella cartella htdocs per vedere se funziona. Non sono pratico di Joomla, ma questi sono i primi test che dovresti fare prima di andare avanti.
Ciao.
-
Rieccomi... il lavoro mi da una tregua quando capita...
Scusa, si, ho configurato i file da te citati e come hai consigliato, ho buttato giù due paginette in php per inviare dal server una mail, ma non funziona. (Ho provato le stesse paginette su un server di altervista e la mail arriva...).
Ora dovrei configurare anche il file mercury.ini, ma non so come...:x
-
@PaoloChiavetta said:
Rieccomi... il lavoro mi da una tregua quando capita...
Scusa, si, ho configurato i file da te citati e come hai consigliato, ho buttato giù due paginette in php per inviare dal server una mail, ma non funziona. (Ho provato le stesse paginette su un server di altervista e la mail arriva...).
Ora dovrei configurare anche il file mercury.ini, ma non so come...:xScusa se sono tardo ma voglio essere sicuro di aver capito bene... hai configurato sendmail di Xampp (NON Mercury) come indicato e non ti spedisce le mail? Hai provato a richiamare lo script mail da locale (localhost oppure 127.0.0.1) e non ha funzionato?
Hai controllato i log d'errore di Xampp per sapere cosa non va? Che versione di Xampp usi? Che servizio di posta elettronica usi?
-
Parse error: syntax error, unexpected end of file in D:\server\htdocs\contatti\mailto.php on line 37
**Questo è l'errore che mi da...
la pagina non riesco a caricarla perché mi da il messaggio che devo rimuovere l'indirizzo email credo....
**comunque la linea 37 è l'ultima!!!!
-
L'errore che ti dà è relativo al tuo script e non alle impostazioni di Xampp. Non conosco come hai strutturato lo script ma devi usare il tag php iniziale <?php (non gli short tag come <? oppure <% ). Togli tutto l'eventuale html presente e riprova omettendo la chiusura finale del tag php ( ?> )
-
come si fa a postare lo script? mi da errore...
-
[PHP]<?php
$oggi = date("j F Y G:i");$sito = $mittente;$ip = "$_SERVER[REMOTE_ADDR]";$browser = "$_SERVER[HTTP_USER_AGENT]";$to = "mia ";$soggetto = "Modulo da $sito";
if(trim($_POST['nome']) == "" OR trim($_POST['telefono']) == "" OR trim($_POST['email']) == "" OR trim($_POST['messaggio']) == "") {echo "<font color="red" face="arial" size="2"><strong>Attenzione! Tutti i campi sono obbligatori!</strong></font>";
} else {
$body = "Modulo inviato il $oggi da $ip - $browser \n\n";$body .= "Nome: $_POST[nome] \nTelefono: $_POST[telefono] \nEmil: $_POST[emil]\nMessaggio: $_POST[messaggio]";
mil("$to","$soggetto","$body");?><html><head><title>e-mil inviata</title><META HTTP-EQUIV=refresh CONTENT="5;URL=index.php">
</head><body style="text-align: center;" alink="red" lang="IT" link="red" vlink="red" MARGINHEIGHT="0">
<div align="center"> </div><div align="center"><br><br><br><br><br><font size="2" color="black">L' è stata inviata con successo!<br>Ne riceverai copia all'indirizzo che hai inserito. </font><br><font size="2" color="black">Grazie.</font>
</div>
</body></html>[/PHP]Ho tolto o modificato tutte le scritte email... ma si dovrebbe capire lo stesso...
-
Eh... purtroppo è un problema del forum. Avevo provato anche io ad inserirti uno script di prova ma mi ha dato il tuo stesso problema. Devi caricarlo su qualcosa di esterno al forum e linkarlo qui...
-
La funziona mail è sbagliata (mil) e non vanno virgolette nei suoi argomenti.
Inoltre manca la parentesi graffa di chiusura, motivo per cui ti dà l'errore che hai indicato.[PHP]
<?php
$oggi = date("j F Y G:i");
$sito = $mittente;
$ip = $_SERVER['REMOTE_ADDR'];
$browser = $_SERVER['HTTP_USER_AGENT'];
$to = "mia ";
$soggetto= "Modulo da $sito";
if(trim($_POST['nome']) == "" OR trim($_POST['telefono']) == "" OR trim($_POST['email']) == "" OR trim($_POST['messaggio']) == "")
{
echo "<font color="red" face="arial" size="2"><strong>Attenzione! Tutti i campi sono obbligatori!</strong></font>";
}
else
{
$body = "Modulo inviato il $oggi da $ip - $browser \n\n";
$body .= "Nome: $_POST['nome'] \nTelefono: $_POST['telefono'] \nEmil: $_POST['email']\nMessaggio: $_POST['messaggio']";
mail($to,$soggetto,$body);?>
<html>
<head>
<title>
e-mil inviata
</title><META HTTP-EQUIV=refresh CONTENT="5;URL=index.php">
</head>
<body style="text-align: center;" alink="red" lang="IT" link="red" vlink="red" MARGINHEIGHT="0">
<div align="center">
</div>
<div align="center">
<br><br><br><br><br>
<font size="2" color="black">
L' è stata inviata con successo!<br>Ne riceverai copia all'indirizzo che hai inserito.
</font><br>
<font size="2" color="black">
Grazie.
</font>
</div>
</body>
</html>
<?php } ?>
[/PHP]Ci sono anche altri errori, ma non sto ad elencarteli tutti. La funzione mail dovrebbe andare lo stesso.
EDIT:
C'è anche un errore nella variabile globale $_POST (emil è diverso da email), il tuo codice è abbastanza incasinato e sbagliato.RI-EDIT
Ti ho messo a posto gli errori visibili. Do per scontato che il tuo script abbia un tag FORM e un SUBMIT.... ma stiamo andando OT. La discussione era relativa a XAMPP non agli errori php del tuo script....
-
Grazie per l'aiuto... però il mio tempo per "lo Svago" è terminato... ci provo in tarda serata e vi dico... Grazie ancora..