problema funzione mail()

  • Creatore Discussione Creatore Discussione akp
  • Data di inizio Data di inizio

akp

Utente Attivo
8 Giu 2015
133
0
16
buonasera,sto scrivendo una pagina php per la registrazione dell'utente. Quando l'utente riempie tutti i campi gli dovrebbe arrivare una mail per confermare la registrazione al sito ,il problema è che non arriva l'e-mail.
Ho configurato php.ini aggiungendo la stringa "/usr/sbin/sendmail -t -i" a sendmail_path ,ho configurato Postfix e la funzione php è la seguente :
PHP:
function invia_email($chiave)
{
        $messaggio = "localhost/percorso/verifica_utente.php?key=" . $chiave;
 
	mail($_POST['email'],"clicca il seguente link, $messaggio, "From: io<[email protected]>");

	return;
}

inoltre non ricevo nessun messaggio di errore.
Qualcuno può aiutarmi a capire dove sbaglio?
grazie
 
hai controllato se le mail sono messe tra la posta indesiderata ?
puoi postare tutto il codice?
 
le ragioni possono essere molteplici,
hai letto il contenuto del link che ti ho inviato ?
hai preso l'esempio funzionante che c'è nello zip e lo hai confrontato con il tuo codice ?
ciao

Ho controllato il tuo codice e se non sbaglio la configurazione del file "Mail_Test.php" e "config_MAIL" è uguale al mio.
 
prova a spostare il tuo sito su altervista e guarda se quella funzione spedisce.
 
Ho controllato il tuo codice e se non sbaglio la configurazione del file "Mail_Test.php" e "config_MAIL" è uguale al mio.
attiva il log della funzione mail con il parametro di php.ini (il mio è il seguente)
PHP:
mail.log = "C:\Windows\temp\php54_mail.log"
poi controlla nel log di php e della funzione mail quali messaggi ci sono

da ultimo posta il codice lasciando i parametri che servono per l'invio (usa il "CAMBIAMI" come ho fatto io nell'esempio)
 
attiva il log della funzione mail con il parametro di php.ini (il mio è il seguente)
PHP:
mail.log = "C:\Windows\temp\php54_mail.log"
poi controlla nel log di php e della funzione mail quali messaggi ci sono

da ultimo posta il codice lasciando i parametri che servono per l'invio (usa il "CAMBIAMI" come ho fatto io nell'esempio)

Io utilizzo debian,ho dato da terminale il seguente comando :
Codice:
sudo tail /var/log/mail.log
e stampa una serie di righe con le connessioni effettuate
 
Io utilizzo debian,ho dato da terminale il seguente comando :
Codice:
sudo tail /var/log/mail.log
e stampa una serie di righe con le connessioni effettuate
nel log dovresti leggere anche se il messaggio è stato inviato o se è presente un errore

in ogni caso la funzione mail vuole 4 parametri
destinatario, controlla che l'indirizzo email sia corretto,
oggetto, deve essere presente
corpo del messaggio, deve essere presente
headers, necessari, confronta con il mio esempio

quale provider usi per inviare la posta (alice, gmail, aruba o altro) ?
 
nel log dovresti leggere anche se il messaggio è stato inviato o se è presente un errore

in ogni caso la funzione mail vuole 4 parametri
destinatario, controlla che l'indirizzo email sia corretto,
oggetto, deve essere presente
corpo del messaggio, deve essere presente
headers, necessari, confronta con il mio esempio

quale provider usi per inviare la posta (alice, gmail, aruba o altro) ?

I 4 parametri sono presenti e corretti,come provider utilizzo gmail

questa è la mia configurazione di postfix :
Codice:
myhostname = debian.lan
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = debian.lan, localhost.lan, , localhost
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
 
cio
ecco, in locale mail non funziona e non credo che tu riesca a farla funzionare perche (mi sembra) non accetta i parametri per smtp, mentre con mailerphp riesci a settarli e inviare da locale
 

Discussioni simili