Bonjour tout le monde,
J’essaie d’envoyer un email avec du code SVG dedans, mais le code svg est systématiquement supprimé. Est-ce possible de modifier de comportement de Dolibarr pour ne pas supprimer le code svg ?
Ce filtre passe par une whitelist de tags HTML autorisés qui n’inclut pas les tags SVG (rect, circle, path…). Pas de contournement propre sans patcher htdocs/core/lib/functions.lib.php.
Tout patch sur ces fichiers sera écrasé à la prochaine mise à jour.
A Noter: même en réglant les deux points, le SVG inline sera très probablement ignoré ou strippé par les clients mail des destinataires (Gmail, Outlook, Yahoo). Si l’objectif est d’intégrer un logo vectoriel, <img src="fichier.svg"> hébergé est la solution universelle.
Effectivement mais ce fichier sera bloqué par la plupart des clients email car vu comme un fichier externe, et si je modifie le code de Dolibarr ça saute à chaque mise à jour.
Merci pour les pistes, je vais donc me passer de logo dans mes emails.
Et en fait si tu as ton logo en SVG tu n’as qu’à le convertir en PNG et l’astuce c’est ensuite de le glisser déposer sur la zone de l’email souhaité. CKeditor l’encodera en base64 à la volée.
Pour préciser : CMailFile.class.php convertit nativement les src="data:image/...;base64,..." en pièce jointe MIME CID à l’envoi (activé par défaut via MAIN_MAIL_ADD_INLINE_IMAGES_IF_DATA). Le drag & drop PNG dans CKEditor est donc parfaitement propre.
Et à moins qu’il y ait un paramétrage très spécifique. .