Hello,
J’ai un serveur de mail correctement configuré, avec plusieurs domaines, tout le bizarre, protégé par SPF/DMARC/DKIM.
Tous mes mails envoyés depuis des clients mails classiques, html ou text, tout est noté 10/10 à mail-tester.
J’envoie également des mails de façon authentifiée depuis d’autres serveurs, en bash, depuis mail ou mailx.
J’ai donc un petit script pour faire cela. Ce qui suit me permet d’envoyer un mail en HTML, avec toute la partie email compliant aux standards mails. Quand je teste ce qui suit avec mail-tester, 10/10.
mail_html () {
debuthtml='<html><body style="background-color:#ececec;"><table>'
message=$1
finhtml='<p>test</p></table></body></html>'
donnees="$debuthtml $message $finhtml"
messageid=$(date |md5sum |awk '{ print $1 }')
echo $donnees | /usr/bin/mail -s "$2" "$3" -a "Message-ID: <${messageid}@mail.domain.org>" \
-a "MIME-Version: 1.0" \
-a "Content-Type: text/html; charset=UTF-8" \
-a "Content-Transfer-Encoding: 8bit" \
-a "Content-Disposition: inline" \
(($?)) && log "Erreur à l'envoi du mail : $3 pour $4 de la part de $2" ${DIRECTORY}/${ERROR_FILE}
}
Là où ça se complique, c’est lorsque j’essaye de faire un peu de mise en forme HTML, soit dans le contenu du body, soit même lorsque je veux par exemple ajouter les head. Là, ça signe, mais plus comme il faut.
En fait, si vous reprenez mon exemple, j’ai à un endroit
test
. Si je double, en faisant un
test
test
, ce qui n’a rien d’extravagant, là, la signature DKIM ne correspondra plus !
Je m’arrache les cheveux… j’ai l’impression que si je fais partir mon mail avec du code HTML crado (pas de doctype, head, tr/td, etc…), la signature DKIM se fait correctement, mais dès que je rajoute une bricole à la partie HTML de mon script, ça signe toujours, mais la signature n’est plus conforme ! Je ne comprends pas. C’est flagrant avec le test des balises
. Pourquoi il prend un paragraphe mais pas deux ??
De la même façon, si je reprends mon script, avec la méthode qui fonctionne à 100% et que j’essaye de rajouter un bête style à mon paragraphe (par exemple une couleur de texte), idem, DKIM ne signe plus correctement le mail… C’est incompréhensible.