Impossible d'envoyer des mails avec cron et phpmailer

Fermé
Accessvision - 27 févr. 2022 à 19:29
jordane45 Messages postés 38320 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 novembre 2024 - 7 mars 2022 à 10:26
Bonjour,
J'ai fait un scripte php qui envoie des mails, quand je l'exécute dans le navigateur il fonctionne, mais quand je l'exécute avec une tâche cron je ne reçois pas de mails, et l'e-mail de cron ne m'indique pas d'erreur.
Quelqu'un a-t-il déjà eu ce problème?



Configuration: Windows / Chrome 98.0.4758.102

6 réponses

NHenry Messages postés 15164 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 27 novembre 2024 345
27 févr. 2022 à 19:58
Comment le lances-tu via cron ?
0
Bonjour,
Voici mon code cron
30 13 * * sun /usr/local/bin/php /home/monutilisateur/agenda/envoi.php
0
NHenry Messages postés 15164 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 27 novembre 2024 345
28 févr. 2022 à 19:41
Je ne connais pas la commande "sun", tu as installé un paquet spécifique ?
Ou tu veux dire "Sunday", auquel cas il faut utiliser la valeur numérique,
0 - Sun Sunday
1 - Mon Monday
2 - Tue Tuesday
3 - Wed Wednesday
4 - Thu Thursday
5 - Fri Friday
6 - Sat Saturday
7 - Sun Sunday
0
J'ai mis sun pour dimanche, j'ai aussi essayé avec 0 et 7, à chaque fois la tâche s'exécute correctement, mais le mail n'arrive jamais
0
NHenry Messages postés 15164 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 27 novembre 2024 345
28 févr. 2022 à 22:11
Pour voir la cause, tu peux faire un truc du genre :
.. /usr/local/bin/php /home/monutilisateur/agenda/envoi.php 1>/tmp/out.txt 2>/tmp/err.txt

Dans /tmp/out.txt tu as la sortie du script
Dans /tmp/err..txt tu as la sortie d'erreur (variable non déclarées, erreur d'import, ...)
0
Accessvision
1 mars 2022 à 12:49
Bonjour,
J'ai suivi vos indiquations, et lors de l'exécution de la tâche, il n'est rien inscrit dans les fichiers.
J'en suppose donc qu'il n'y a pas de réel erreur de la part de cron
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
NHenry Messages postés 15164 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 27 novembre 2024 345
6 mars 2022 à 23:06
A la place du nom du jour essayer le numéro.
Sinon, mettre un
echo "test" > /tmp/test.txt
en début de script pour voir si le fichier se créé (si oui, c'est que le script s'execute, sinon c'est qu'il ne se lance pas)
0
jordane45 Messages postés 38320 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 novembre 2024 4 707
7 mars 2022 à 10:26
Bonjour,


Il faudrait activer le mode debug de phpmailer et bien penser aussi à activer l'affichage des erreurs php
=> Pour les erreurs php.. voir ici : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code

=> Pour le debug de phpmailer
commence par ça :
$mail->SMTPDebug  = 2; // enables SMTP debug information (for testing)
                       // 1 = errors and messages
                       // 2 = messages only


Il faudrait aussi que tu testes l'exécution du script via la ligne de commande directement ( sans attendre le passage de la cron..)
pour ça, il te suffit de lancer ta commande dans le terminal :
/usr/local/bin/php /home/monutilisateur/agenda/envoi.php

et regarder ce que ça t'affiche.

Bien entendu, si tu pouvais ajouter, dans ton script envoi.php quelques echo / var_dump histoire d'afficher un peu d'infos sur le déroulement de ton script ça serait un plus non négligeable...
Nous montrer ton code php également .. car après tout .. ici tu es dans le forum PHP .. et on y traite d'avantage les questions/soucis de code plutôt que le fonctionnement ou non d'une tâche cron ( qui relève du système d'exploitation et non du langage.. )


0