- Home
- Categorie
- Coding e Sistemistica
- Hosting, Server e Domini
- Problema invio mail tramite php
-
Problema invio mail tramite php
Salve
ho da poco acquistato un server dedicato e, facendo varie prove, ho notato che le mail che mando usando la funzione php mail() non arrivano a destinazione, nonostante non mi viene segnalato alcun errore.
Il problema penso sia nella configurazione del server che monta un sistema linux con apache e php...
idee su quello che potrebbe essere??
fatemi sapere è abbastanza urgente
-
allora, se guardi qui http://it.php.net/mail noterai che ci sono alcuni vincoli
primo, ed è ovvio, la configurazione di PHP, ma soprattutto la funzione è esplicitamente progettata per interfacciarsi a sendmail, quindi per chi usa Postfix, Qmail, ecc.... bisogna impostare gli opportuni wrapper
-
ok...e come faccio a vedere se sendmail è installato?
in php c'è il sendmail_path = /usr/sbin/sendmail -t -i ed andando /usr/sbin c'è sendmail (ma non è una cartella) e sendmail.sendmail...significa che è installato? scusate ma non mi intendo molto di linux...
-
ok...e come faccio a vedere se sendmail è installato?
in php c'è il sendmail_path = /usr/sbin/sendmail -t -i ed andando /usr/sbin c'è sendmail (ma non è una cartella) e sendmail.sendmail...significa che è installato? scusate ma non mi intendo molto di linux...
-
hai un VPS, un dedicato o sei su un condiviso?
-
un dedicato e quindi posso gestire tutto...
-
in questo caso puoi agire a seconda della distribuzione Linux installata.....
per esempio fedora, redhat, centos, suse usano rpm, per cui puoi usare rpm -qa per fargli listare tutti i pacchetti installati....se tra questi c'è sendmail, allora sendmail è installato
-
sendmail è installato, me l'ha confermato il supporto tecnico
[root@miserver ~]# rpm -qa "sendmail"
sendmail-8.13.1-3.2.el4
sendmail-cf-8.13.1-3.2.el4
quindi ora dato ke sendmail è installato, e lo script non mi da errori, cosa potrebbe mai essere??
-
un problema di configurazione
-
@paolino said:
un problema di configurazione
mmm..in ke senso? scusa se ti faccio tutte queste domande ma di linux non ne capisco molto
-
configurazione dell'interprete PHP
la migliore cosa da fare sarebbe dare un'occhiata al file di log di sendmail....dovresti trovarlo da qualche parte sotto /var ( il path esatto cambia a seconda della distribuzione )
ti conviene aprire un ticket con il supporto tecnico e chiedergli informazioni altrimenti non essendo pratico di Linux potresti modificare qualche settaggio di sistema e mettere down il sito
inoltre potrebbe benissimo essere che l'IP del tuo server è in blacklist
-
allora ho controllato se l'IP è blaklisted, ma non è così, poi ho visto il file di log (penso, l'ho trovato in /var/log/maillog ) ma è vuoto, quindi è come se le mail non vengano processate, o sbaglio?? cosa potrebbe essere?
-
come non detto! c'è il file maillog.2 che contiene queste righe:
Sep 4 22: 52: 14 mioserver sendmail[3429]: alias database /etc/aliases rebuilt by root
Sep 4 22: 52: 14 mioserver sendmail[3429]: /etc/aliases: 78 aliases, longest 10 bytes, 802 bytes total
Sep 4 22: 52: 14 mioserver sendmail[3434]: starting daemon (8.13.1): SMTP+queueing@01:00:00
Sep 4 22: 52: 14 mioserver sm-msp-queue[3443]: starting daemon (8.13.1): queueing@01:00:00possono aiutarti ad aiutarmi?
-
beh quel file dice solo che sendmail è avviato
non c'è traccia di errori, vuol dire che PHP non contatta il server sendmail, dovresti a questo punto guardare nel file /etc/php.ini
c'è una sezione come questa
[mail function] ; For Win32 only. SMTP = localhost smtp_port = 25 ; For Win32 only. ;sendmail_from = [email protected] ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). ;sendmail_path = ; Force the addition of the specified parameters to be passed as extra parameters ; to the sendmail binary. These parameters will always replace the value of ; the 5th parameter to mail(), even in safe mode. ;mail.force_extra_parameters =
il parametro sendmail_path di default è commentato e vuoto, basta eliminare il ; e metterlo il path di sendmail
-
allora ho provato sia a mettere il path automatico mettendo il ";" (prima era settato il path usr/sbin/sendmail -t -i) ma non funziona...poi ho provato anche a cambiare il path mettendo usr/sbin/ ma nn va lo stesso, e nei log nessuna traccia...altre isee??
-
@sebosan said:
allora ho provato sia a mettere il path automatico mettendo il ";" (prima era settato il path usr/sbin/sendmail -t -i) ma non funziona...poi ho provato anche a cambiare il path mettendo usr/sbin/ ma nn va lo stesso, e nei log nessuna traccia...altre isee??
il path dev'essere completo, cioè /usr/bin/sendmail
verifica che sendmail si trovi effettivamente in /usr/bin e non eliminare il primo /, in quanto indica la radice del filesystem
poi ovviamente bisogna riavviare il web server perchè le nuove impostazioni abbiano effetto