Browse Source

En cas d'echec, on permet a la classe Facteur de lever le flag isFinalTry si elle sait que ça ne sert a rien de re-essayer

pull/16/head
Cerdic 7 months ago
parent
commit
1acaef34fa
  1. 8
      inc/Facteur/FacteurMail.php
  2. 4
      inc/facteur.php

8
inc/Facteur/FacteurMail.php

@ -287,6 +287,14 @@ class FacteurMail extends PHPMailer {
$this->isFinalTry = $isFinalTry;
}
/**
* Indique si l'envoi est un dernier essai et que tout echec est definitif
* @return bool
*/
public function getIsFinalTry() {
return $this->isFinalTry;
}
/**
* Set the fail function to call if an important mail was not sent
* @param $function

4
inc/facteur.php

@ -250,6 +250,10 @@ function facteur_envoyer_mail($destinataires, string $sujet, array $message, int
spip_log('Erreur Envoi mail via Facteur : ' . print_r($facteur->ErrorInfo, true), 'mail' . _LOG_ERREUR);
// si le mail est important, le facteur aura gere l'envoi de l'alerte fail
// mais ici on gere une nouvelle tentative plus tard ou un dump du mail en echec
// on recheck isFinalTry car selon la nature de l'erreur le facteur a pu indiquer qu'il est inutile de faire un nouvel essai
if ($facteur->getIsFinalTry()) {
$try = _FACTEUR_NOMBRE_ESSAIS_ENVOI_MAIL;
}
facteur_reprogrammer_ou_dumper_mail_echec($args_retry, $try + 1);
}

Loading…
Cancel
Save