Tâches automatiques (cron) - Script cron qui n'envoie pas d'email après migration
... / Script cron qui n'envoie ...
BMPCreated with Sketch.BMPZIPCreated with Sketch.ZIPXLSCreated with Sketch.XLSTXTCreated with Sketch.TXTPPTCreated with Sketch.PPTPNGCreated with Sketch.PNGPDFCreated with Sketch.PDFJPGCreated with Sketch.JPGGIFCreated with Sketch.GIFDOCCreated with Sketch.DOC Error Created with Sketch.
Frage

Script cron qui n'envoie pas d'email après migration

Von
a4b2d56055cb3e641b61
Erstellungsdatum 2024-07-10 09:23:04 (edited on 2024-09-04 11:09:29) in Tâches automatiques (cron)

Bonjour,

Depuis trois ans, j'utilise un cron pour une mise à jour d'agenda 1x/jour avec un envoi de mail après que la requête de mise à jour soit correctement effectuée.

J'ai migré tout le site et les scripts sur un nouvel hébergement (même type d'hébergement, le Perso) et depuis, le script s'exécute toujours sans soucis mais le mail ne part plus (ou n'arrive plus), sauf si je l'appelle moi même soit via l'adresse du site soit via l'adresse "cluster".

J'aimerais comprendre pourquoi le script n'envoie pas le mail via le cron mais bien en l'appelant manuellement (ou via un cronjob sur un site extérieur).

Pour info, et j'avais créé un sujet là dessus, les mails ne sont pas chez OVH mais chez InfoManiak.
Le script utilise mon adresse perso (gmail) et envoie sur une adresse gmail.
Il est identique au script sur l'ancien hébergeur (que je conserve pour tests et il fonctionne bien sans soucis pour alimenter la BDD liée à l'autre hébergement chez OVH).
J'utilise la fonction PHP mail()
J'utilise la même version PHP (8.3) sur les deux hébergements.
J'ai des retours d'erreur de script email (cf capture jointe). Les deux adresses sont les miennes (une l'administration du site Wordpress, l'autre, l'email où est envoyé le rapport CRON).
Mais je n'ai PAS reçu d'erreurs le 8 et le 9 juillet, la capture montre les 2 derniers.
Le systeme Script mail de mon manager m'indique 1 seul mail envoyé aujourd'hui. C'est certainement le mail du script CRON envoyé lors de l'appel via un site de Cronjobs à 04h00. Le CRON OVH se fait à 01h. J'aurais vu 2 mails envoyés. J'ai bien reçu le mail du site à 04h01.
Les mails de mise à jour Wordpress et de ContactForm7 sont bien reçus.


image


4 Antworten ( Latest reply on 2024-07-11 13:39:10 Von
a4b2d56055cb3e641b61
)

Bonjour,

Votre code envoie le mail comment ?

Cordialement, janus57

Bonjour Janus57,
Je mettais justement mon texte à jour ave la fonction utilisée et les erreurs SCRIPT MAIL OVH Manager, j'utilise la fonction mail() de PHP.

Bonjour,

Il faudrait le bout le code car là le message d'erreur est que vous faites de l'usurpation d'adresse Gmail depuis des serveurs OVH.

Cordialement, janus57

// Message mail
$message = $ical->event_count . ' événements trouvés
______________________
';
// Les destinataires
$to = '**.****g@gmail.com';
// Sujet
$subject = 'Agenda MAJ TWZ';
// Pour envoyer un mail HTML, l'en-tête Content-type doit être défini
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
// Envoi
mail($to, $subject, $message, $headers);

___________
Il y a juste une ligne dans la bouche foreach() qui les différents événements trouvés dans la variable $message mais le code est le même depuis 3 ans.
Et le script est dans un sous dossier du dossier racine (www/ics/icsscript/script_import.php) comme sur l'autre hébergement. J'ai du juste mettre le premier courrier reçu en "non spam" sur mes deux comptes GMail.

Bonjour,

Je dirais qu'il faut explicitement définir un from.

Cordialement, janus57

Donc, ajouter

$headers = "From: Website \r\nReply-To: SendingEmail@address.tld";
avec les infos du nouveau site ?


Je voyais un souci DMARC via les erreurs.
Sur l'ancien site, j'utilisais les mêmes adresses et le MX était celui d'OVH.

En DNS, je n'ai que le SPF d'infoManiak.
> SPF v=spf1 include:spf.infomaniak.ch -all
> ****.be.
> MX 5 mta-gw.infomaniak.ch.

Bonjour,

Bah là le problème c'est que sans from c'est OVH qui va le définir.

Pour la partie code je vous laisse vérifier car j'ai plus l'habitude d'utiliser PHPMailer pour respecter les RFC mails.

Cordialement, janus57

Bon, après deux essais, un cette nuit (automatique) et un maintenant, l'email s'envoie bien mais j'obtiens aussi tot une erreur dans script Mail / erreurs...

Je vais regarder du côté de PHPMailer