Cerdic
fb4875fc6b
Deseveriser le typage sur headers, car le core lui meme appelle la fonction avec une valeur nulle lors de l'inscription. On traite proprement le cas null pour ne pas le propager
8 months ago
Cerdic
9c1f3daa8c
variable inutile (JLuc)
9 months ago
Cerdic
59eb0c3fd9
Charger directement inc_facteur_mail_html2text() plutot que passer par facteur_mail_html2text() cela evite en plus une fatale eventuelle #19
9 months ago
Cerdic
5e40dbc3b8
Relacher un peu la contrainte sur le typage de from qui est parfois null pour passer des headers #19
9 months ago
b_b
daf42982b9
prise en charge correcte de Message-ID dans l'ajout de headers
...
sans quoi on se retrouve avec un double header Message-ID car PHPMailer en ajoute toujours un par défaut si la propriété MessageID n'est pas définie
9 months ago
cy_altern
1687cdf814
compat PHP 8
10 months ago
tofulm
0223687744
evite warning php 8
10 months ago
Cerdic
1acaef34fa
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
11 months ago
Cerdic
79ebcf8b98
Fix #14 : ne pas perdre un mail en cas d'echec de l'envoi
...
- on se donne 5 essais, personalisable via la constante _FACTEUR_NOMBRE_ESSAIS_ENVOI_MAIL
- lors d'un echec, on dump les arguments de la fonction facteur_envoyer_mail() dans un fichier json dans facteur/retry/ et on programme un job queue pour re-essayer plus tard, avec un delai de 10mn, puis 1h, puis 3h puis 12h puis 24h en fonction du nombre d'essai
- lorsqu'on atteint le nombre maxi d'essais, on dump le mail en echec dans tmp/facteur/failed ce qui permet de garder une trace ou de retraiter l'envoi manuellement ulterieurement
11 months ago
Cerdic
33e4c2c000
Mieux preparer et compter les destinataires valides car une combinaison dest vide + bcc invalide passait a travers les mailles et declenchait une erreur facteur
11 months ago
Cerdic
da7a6be96d
Indentation/psr/reformulation
11 months ago
Cerdic
ba13d2356e
Les fonctions facteur_xx dans inc/facteur + une fonction facteur_envoyer_mail() qui se debarasse des arguments deprecies et la fonction inc_envoyer_mail() se contente de gerer la compat avec ces anciens arguments et de deleguer a facteur_envoyer_mail() une fois remis en formes
11 months ago
Matthieu Marcillaud
ebe106332d
Rector jusqu’à PHP 7.3 (SPIP 4.0+)
1 year ago
Cerdic
2c4dcb1ae3
PSR et touti via phpcbf (c'est sans douleur)
1 year ago
Cerdic
b7bb2d7c42
Suppression de la vieille classe Facteur qui est depreciee et n'a plus lieu d'etre. Il faut utiliser les classes SPIP\Facteur\FacteurXxxx en direct ou via la fonction facteur_factory()
1 year ago
Cerdic
114422951d
Ajouter une propriete logname utilisee pour les logs, ce qui permet aux surcharges de loger dans un log different
1 year ago
Maïeul
f6935bd73b
La conversion en ISO doit se faire juste avant l'envoi de l'email, et
...
non pas dans `FacteurMail->setMessage()`, car les entetes sont potentiellement changés après dans `envoyer_mail()`.
Exemple de cas qui buguait
$envoyer_mail = charger_fonction('envoyer_mail', 'inc');
`````
$envoyer_mail('toto@truc.com', 'un sujet',
array(
'text' => 'Le corps de message',
'html' => 'Corps HTML',
'from' => 'toto@truc.com',
'nom_envoyeur' => 'Un envoyeur avec une apostrophe U+2019(’)'
)
);
`````
1 year ago
Cerdic
9125399842
Ajout d'un pipeline facteur_lister_methodes_mailer() qui permet d'ajouter des mailers alternatifs, et suppression de toute reference a un mailer commercial ou api proprietaire :
...
par defaut on ne supporte que les methodes standard `mail()` et `smtp`.
A charge pour d'autres plugins de proposer des methodes supplementaires via ce pipeline et en fournissant :
* le formulaires/inc-config-facteur-mailer-xxxx.html
* la classe inc/Facteur/FacteurXxxxx.php (declaree dans le pipeline)
1 year ago
Cerdic
cbad944edb
Refactor pour centraliser en un point le listing des methodes mailer disponibles et rendre cela plus facilement extensible
1 year ago
b_b
144e5c3198
passer la globale facteur à oui quand on est branché sur mailjet
...
ainsi, on permet aux gens d'activer l'option "Utiliser le même service d’envoi que pour les autres mails" dans mailshot, ce qui leur évite d'avoir à entrer leurs credentials mailjet dans deux configs différentes
2 years ago
JLuc
9af79d2fa5
phpdoc
...
phpdoc $destinataire
3 years ago
Cerdic
30a5089287
Fix la possibilite de desactiver la conversion automatique des emails texte en emails html :
...
- au cas par cas en fournissant explicitement message['texte'] avec egalement un message['html'] vide (si aucun message['html'] fourni, la conversion auto a lieu, comme avant)
- globalement via un define('_EMAIL_AUTO_CONVERT_TEXT_TO_HTML', false)
3 years ago
JLuc
503ca152f1
fix #3 ne pas évacuer les interrogations
...
Un problème de conversion utf-iso du fichier source avait transformé les ’ en ?. On remet comme en V3 https://git.spip.net/spip-contrib-extensions/facteur/src/branch/v3/classes/facteur.php#L330
3 years ago
Cerdic
d068475976
class des exceptions fix
3 years ago
Cerdic
b37d194378
bugfix chaine de langue, plus increment version et passage en test
3 years ago
Cerdic
62a0cdf3d6
bugfix calcul du sujet automatique selon html/texte
3 years ago
Cerdic
7214fa1a5b
avec une chaine de langue pour fignoler le mail d'alerte
3 years ago
Cerdic
254ea4a30e
passer les chemins des PJs en absolu pour le mail d'alerte et ne pas planter si une PJ manque
3 years ago
Cerdic
77401dd84b
corriger le include, si on utilise __FILE__ ca foire des qu'on a des liens symboliques
3 years ago
Cerdic
94aa10c5ba
detection a posteriori, async du status des mails important bloques par Mailjet et envoi de l'alerte si besoin
3 years ago
Cerdic
79d035f349
la detection de mail blocke/en echec n'est pas forcement synchrone, on revoit donc l'architecture pour tout deleguer a facteur, avec une implementation basique par defaut
3 years ago
Cerdic
69227cb8f7
une fatale fatale si on renomme pas la fonction comme attendu :p
3 years ago
Cerdic
12f4dfc537
deplacer l'extraction auto du sujet dans une fonction adhoc, ce qui permet de tester son existence et de savoir si le facteur le fait automatiquement ou pas
3 years ago
Cerdic
fa1734cbdb
renommage de variable + php doc flag important
3 years ago
Cerdic
4dc81bf6f7
on peut ajouter important=true dans les options de envoyer_mail, ce qui met le flag sur le mail (mais peu supporte), mais surtout notifie l'adresse mail configuree dans facteur en cas d'erreur d'envoi de cet email important
...
a utiliser pour les emails transactionnels par exemple, si on veut pouvoir gerer quand un email d'un compte est bloque par le service d'envoi d'emails
3 years ago
Cerdic
8928d93c13
Fix cc/bcc auto qui etaient perdus par le setDest() + gestion flag important via setImportant()
3 years ago
Cerdic
4bd852cf68
quand le sujet est vide on l'extrait du debut du contenu html ou texte, quel que soit la methode d'appel de la fonction
3 years ago
Cerdic
8e72c5a193
homogeneiser les logs, fix le Reply-To avec mailjet et un petit glitch de format sur le From quand il est force
3 years ago
Cerdic
3c2e6fa2a6
test et debug de Mailjet dans tous les cas
3 years ago
Cerdic
202c524187
fix fonction de log quand on log du non scalaire
3 years ago
Cerdic
c699436115
Gestion de la config : separer le calcul de l'envoyeur par defaut, mieux gerer la surcharge, et assurer la compat des autres plugins en emulant une meta facteur_smtp (mailshot)
3 years ago
Cerdic
6c95e67a46
on supprime ce vieux fichier de compat, il y a prescription
3 years ago
Cerdic
9306f94b45
Une methode alternative au SMTP pour le facteur : se brancher directement sur l'API mailjet
3 years ago
Cerdic
4e8aa68a95
brancher inc/envoyer_mail sur facteur_factory() et donc utiliser la nouvelle implementation de SPIP\Facteur\FacteurXXXX
3 years ago
Cerdic
c68b607500
coquille
3 years ago
Cerdic
1ca272c0d6
renommage de fichier
3 years ago
Cerdic
678a787d90
On introduit les classes SPIP\Facteur\FacteurMail et SPIP\Facteur\FacteurSMTP refactoree de l'ancien Facteur pour dispatcher les mails vers le bon service
...
L'ancienne classe Facteur est branchee sur FacteurSMTP qui se degrade en FacteurMail si pas de SMTP configure, pour assurer une continuite fonctionnelle des plugins qui utilisaient la classe Facteur directement
3 years ago
Cerdic
00dd4501de
on deporte tous les gros filtres dans des fonctions surchargeables sur le meme modele, c'est plus simple a maintenir, lire, surcharger
3 years ago
Cerdic
87169d43dc
entetes PHP
3 years ago
Cerdic
2a30aacbf4
On remanie le formulaire de config et on separe le test dans un formulaire a part + ajouter une piece jointe au test si possible + des chaines de langue
3 years ago