Bonjour,
je tiens déjà à m'excuser car la question a déjà été posé pleins de fois (sans doute) mais je n'ai pas trouvé de réponse.
Alors en gros, j'ai suivi le tutoriel pour créer une VM avec PuPHPet et Vagrant. Ma VM marche a merveille mais le seul soucis c'est que je n'arrive pas a faire fonctionner MailCatcher.
Quand je lance le script :

<?php
var_dump(mail('local@dev.fr', 'My Subject', 'Message', 'FROM:local@dev.fr'));

la page me retourne "boolean false" Mais en revanche que je lance la commande (qui correspond au même fichier) :

php index.php

Le terminal me retourne bool(true) du coup je ne comprends pas trop.
J'ai regardé dans le fichier /var/apache2/error.log et j'y est trouvé :

[Mon Jul 06 20:05:47.548587 2015] [mpm_event:notice] [pid 20362:tid 140391249221504] AH00489: Apache/2.4.12 (Ubuntu) configured -- resuming normal operations
[Mon Jul 06 20:05:47.548754 2015] [core:notice] [pid 20362:tid 140391249221504] AH00094: Command line: '/usr/sbin/apache2'
[Mon Jul 06 20:10:11.992233 2015] [mpm_event:notice] [pid 20362:tid 140391249221504] AH00491: caught SIGTERM, shutting down
[Mon Jul 06 20:10:29.903656 2015] [mpm_worker:notice] [pid 3138:tid 140669870208896] AH00292: Apache/2.4.12 (Ubuntu) OpenSSL/1.0.1f configured -- resuming normal operations
[Mon Jul 06 20:10:29.903719 2015] [core:notice] [pid 3138:tid 140669870208896] AH00094: Command line: '/usr/sbin/apache2'
[Mon Jul 06 22:19:20.576042 2015] [mpm_worker:notice] [pid 3138:tid 140669870208896] AH00295: caught SIGTERM, shutting down
[Mon Jul 06 22:19:21.867938 2015] [mpm_worker:notice] [pid 4260:tid 140392460048256] AH00292: Apache/2.4.12 (Ubuntu) OpenSSL/1.0.1f configured -- resuming normal operations
[Mon Jul 06 22:19:21.867971 2015] [core:notice] [pid 4260:tid 140392460048256] AH00094: Command line: '/usr/sbin/apache2'
[Mon Jul 06 22:27:07.689042 2015] [mpm_worker:notice] [pid 4260:tid 140392460048256] AH00295: caught SIGTERM, shutting down
[Mon Jul 06 22:27:08.970792 2015] [mpm_worker:notice] [pid 4395:tid 140673959004032] AH00292: Apache/2.4.12 (Ubuntu) OpenSSL/1.0.1f configured -- resuming normal operations
[Mon Jul 06 22:27:08.970826 2015] [core:notice] [pid 4395:tid 140673959004032] AH00094: Command line: '/usr/sbin/apache2'
[Mon Jul 06 22:40:24.081881 2015] [mpm_worker:notice] [pid 4395:tid 140673959004032] AH00295: caught SIGTERM, shutting down
[Mon Jul 06 22:40:25.351577 2015] [mpm_worker:notice] [pid 4914:tid 139941158455168] AH00292: Apache/2.4.12 (Ubuntu) OpenSSL/1.0.1f configured -- resuming normal operations
[Mon Jul 06 22:40:25.351628 2015] [core:notice] [pid 4914:tid 139941158455168] AH00094: Command line: '/usr/sbin/apache2'

Je tiens a préciser que je suis sous Ubuntu 14.04.
Merci a vous.

12 réponses


Huggy
Réponse acceptée

@Forever la différence c'est déjà le user qui lance php et donc les droits qui vont avec

Imillix
Auteur
Réponse acceptée

J'ai utilisé swiftmail pour envoyer des mail en smtp sur le port 25 de maildev et ca marche parfaitement donc le seul probleme c'est que je suis obligé de passer par du smtp et en regardant dans les logs d'apaches je n'ai rien du tout

Si ton problème vient de la fonction mail, ça n'a rien avoir avec MailCatcher, MailCatcher ne fait qu'intercepter les mails sur le serveur.
Si la page de MailCatcher s'affiche correctement dans ton navigateur mais qu'aucun des mails que tu envoies n'est listé dans MailCatcher, c'est un problème de configuration pour l'envoi de mail sur le serveur.

Imillix
Auteur

Mais quand je lance la commande

php index.php

je recoie le maio avce mailcatcher mais quand j'execute depuis un navigateur web, aucun mail ne part

Tu as très probablement deux instances de PHP : une pour le web, une pour la CLI. La config de celle du web fait probablement défaut, comme l'a dit Lartak.

Imillix
Auteur

Merci. Est ce que en refesant une VM ca peut corriger le probleme ?

Je ne sais pas. Je ne pense pas. Il faudrait regarder la config CLI et voir en quoi elle diffère de celle pour Apache/nginx.

Oui j'avais eu aussi un pb config php différentes cli/apache..

Si c'est ça, PHP sort probablement une erreur du type "No write to send an email using the mail() function", ou un truc comme ça. Il suffit de regarder dans les logs d'Apache.

Pour les logs, tu dois utiliser le Logger Plugin de Swiftmail
http://swiftmailer.org/docs/plugins.html

Salut les amis j'ai une question pourrai je compiler une application développé en php sur android ,je veux le convertir en application mobile est-il possible de le faire et Merci pour l'information

Crée un nouveau sujet Musangu, ta question n'est pas lié à PuPHPet MailCatcher. :)