`notifications_envoyer_mails()` vs `inc_envoyer_mail()`
notifications_envoyer_mails()
reprenait initialement une signature comparable à celle de inc_envoyer_mail_dist() mais les 2 fonctions ont évoluées en parallèle
/**
* Envoyer un email de notification
*
* Le sujet peut être vide, dans ce cas il reprendra la première ligne non vide du texte
*
* @param array|string $emails
* @param string $texte
* @param string $sujet
* @param string $from
* @param string $headers
*/
function notifications_envoyer_mails($emails, $texte, $sujet = '', $from = '', $headers = '') {
/**
* Envoi d'un mail
*
* @param string $destinataire
* @param string $sujet
* @param string|array $corps
* - au format string, c'est un corps d'email au format texte, comme supporte nativement par le core
* - au format array, c'est un corps etendu qui peut contenir
* - string texte : le corps d'email au format texte
* - string from : email de l'envoyeur (prioritaire sur argument $from de premier niveau, deprecie)
* - array headers : tableau d'en-tetes personalises, une entree par ligne d'en-tete
* --- Support partiel par une fonction mail_embarquer_pieces_jointes a fournir, ---
* --- chargee de convertir en texte encodee les pieces jointes ---
* - array pieces_jointes : listes de pieces a embarquer dans l'email, chacune au format array :
* - string chemin : chemin file system pour trouver le fichier a embarquer
* - string nom : nom du document tel qu'apparaissant dans l'email
* - string encodage : encodage a utiliser, parmi 'base64', '7bit', '8bit', 'binary', 'quoted-printable'
* - string mime : mime type du document
* --- Non implemente ici ---
* - string html : le corps d'email au format html
* - string nom_envoyeur : un nom d'envoyeur pour completer l'email from
* - string cc : destinataires en copie conforme
* - string bcc : destinataires en copie conforme cachee
* - string adresse_erreur : addresse de retour en cas d'erreur d'envoi
* @param string $from (deprecie, utiliser l'entree from de $corps)
* @param string $headers (deprecie, utiliser l'entree headers de $corps)
* @return bool
*/
function inc_envoyer_mail_dist($destinataire, $sujet, $corps, $from = '', $headers = '') {
Le but principal de notifications_envoyer_mails()
était :
- pouvoir envoyer facilement à une liste de destinataire (
inc_envoyer_mail_dist()
accepte aussi une liste de destinataire maintenant- la liste des destinataires est souvent extensible en amont via le pipeline
notifications_destinataires
cf https://git.spip.net/spip/spip/src/branch/master/ecrire/notifications/instituerarticle.php#L52
- la liste des destinataires est souvent extensible en amont via le pipeline
- envoyer le tout sans bloquer le hit, car pas d'urgence (utilisation de job_queue)
- le sujet est facultatif dans l'appel car il peut souvent être extrait automatiquement du corps (généré par un squelette), ce que fait aussi maintenant la fonction
inc_envoyer_mail()
du facteur https://git.spip.net/spip-contrib-extensions/facteur/src/branch/master/inc/envoyer_mail.php#L149
De fait, on utilise souvent la fonction notifications_envoyer_mails() comme shorthand pour sa capacité à envoyer le mail en async, via la job_queue
Et enfin https://git.spip.net/spip/dist/pulls/4844 propose de passer un 'id' pour repérer les mails de notification et permettre de les modifier via le pipeline notifications_envoyer_mails
qui de fait actuellement ne donne aucun contexte de comment/pourquoi a été généré le mail
Modification effectuée par JamesRezo