web-dev-qa-db-fra.com

PHP mail () ne fonctionne plus après la mise à jour vers OSX Mountain Lion

Je viens de mettre à jour OS X vers Mountain Lion hier, mais la fonction php mail() ne fonctionne plus.

Avant la mise à jour, la fonction PHP mail() fonctionnait correctement, la messagerie Apple fonctionnait correctement. Après la mise à jour, le courrier Apple fonctionne correctement, mais la fonction PHP mail() NE FONCTIONNE PAS.

Serveur Web: XAMPP 1.7.3

J'utilise ce code pour tester la fonction mail():

if (mail($to, $object, $content, "From: ". $from)) 
{ 
    echo 'send '; 
} 
else 
{ 
    echo "not send"; 
}

Il montre: not send

Quelque chose que je dois changer? comme le php.ini ou autre chose?

Merci d'avance.

33
Globalfish

Enfin, j'ai trouvé la solution. Après avoir consulté le fichier error_log (/ Applications/XAMPP/xamppfiles/logs/error_log), il y a une erreur: sendmail: fatal: chdir/Library/Server/Mail/Data/spool: No such fichier ou répertoire

Procédez comme suit sur votre terminal:

Sudo mkdir -p /Library/Server/Mail/Data/spool
Sudo /usr/sbin/postfix set-permissions
Sudo /usr/sbin/postfix start

Ensuite, le php mail () fonctionne!

Référence: https://Apple.stackexchange.com/questions/54051/sendmail-error-on-os-x-mountain-lion

79
Globalfish

Après avoir créé le dossier de spoule comme décrit ci-dessus, j'ai configuré postfix en suivant les instructions de cet article OS X Hints

J'ai également dû modifier mon chemin d'envoi de php.ini sendmail pour avoir des commutateurs supplémentaires, en particulier

sendmail_path=/usr/sbin/sendmail -t -i
3
Ryan