2013-01-11 4 views
0

J'ai installé apache avec PHP version 5.3.3-7 + squeeze14 et je ne peux pas obtenir le courrier à travailler, c'est le code que je utilise:retourne faux journaux PHP mail() sont vides

error_reporting(E_ALL|E_STRICT); 
ini_set('display_errors', 1); 
echo 'I am : ' . `whoami`; 
$result = mail('*****','Testing 1 2 3','This is a test.'); 
echo '<hr>Result was: ' . ($result === FALSE ? 'FALSE' : 'TRUE') . $result; 
echo '<hr>'; 
echo phpinfo(); 

c'est la réponse que je reçois:

I am : www-data 
Result was: FALSE 

Dans mon php.ini j'ai modifié deux lignes, voici comment hey regardez en ce moment:

sendmail_path = /usr/sbin/sendmail -t -i -f [email protected]****.lt 
sendmail_from = [email protected]****.lt 

/var/log/mail.log est complètement vide même si j'ai essayé différentes choses depuis plus d'une heure maintenant.

Je suis assez nouveau pour linux donc je suis assez sûr que je manque quelque chose évidente semble juste ne peut pas trouver dans ...

EDIT oublié de mentionner que je ne redémarrent apache chaque fois que je fais quelques changements dans ma configuration, et je suis en utilisant Debian 6.0

Répondre

2

Vous devez installer Postfix ou sendmail (Postfix serait préférable)

Le php mail() fonction a besoin d'un MTA de quelque manière que .

Ou vous pouvez utiliser la manière compliquée et le scénario d'une smtp Mailclass: email.about.com/od/emailprogrammingtips/qt/...

Ou vous pouvez utiliser phpmailer: phpmailer.worxware.com.

Mais pour pouvoir utiliser la messagerie() vous avez besoin d'un mta (AKA Postfix ou Sendmail)

+0

Est-il vraiment aucun moyen de faire ce travail sans installer des choses supplémentaires? – Linas

+1

Non. La fonction php mail() nécessite un MTA de quelque manière que ce soit. Ou vous pouvez utiliser la manière complicateet et le script d'une classe Mailpass smtp: http://email.about.com/od/emailprogrammingtips/qt/PHP_Email_SMTP_Authentication.htm ou vous pouvez utiliser phpmailer: http://phpmailer.worxware.com. Mais pour pouvoir utiliser mail() vous avez besoin d'un mta (Aka postfix ou sendmail) – rechengehirn

+1

J'ai donné +1, mais c'est plus pour l'info supplémentaire dans le commentaire que la réponse originale. – SDC

2

la fonction mail() est configuré sur de nombreuses façons sur de nombreux serveurs. L'utilisation d'une classe de messagerie avec prise en charge SMTP vous fera gagner beaucoup de temps. Je préfère:

https://github.com/Synchro/PHPMailer

De l'autre côté, l'envoi de mails par serveur SMTP fonctionne mieux avec les filtres anti-spam, etc.

+0

Oui, j'étais capable d'installer sSMTP et maintenant je reçois cette erreur dans mon journal Impossible d'ouvrir le courrier. **. Lt: 25 – Linas

+0

et le courrier. ***. Il répond habituellement? par exemple. par telnet/netcat? – moveax