Project

General

Profile

Actions

Configuration du système d'envoi d'emails

L'envoi d'emails par l'application repose sur la librairie PHP SwiftMailer jusqu'à la version 2.6.x.

Depuis la version 2.7, l'envoi d'email repose sur la librairie symfony/mailer.

Il est possible de prolonger l'utilisation de 'swiftMailer' en ajoutant la constante optionnelle MAIL_LIBRARY == 'swiftMailer' à votre fichier config.ini.

De manière générale, référez-vous à la documentation relative aux constantes Linea21, section Paramétrage de l’envoi d’emails : mail_settings.

Sendmail, configuration par défaut

Par défaut, l'application est configurée pour envoyer les messages avec sendmail.

[MAIL_SETTINGS]

MAIL_SENDMAIL         = "/usr/sbin/sendmail -t -i" 
MAIL_PORT         = 25
MAIL_MAILER         = "sendmail" 

Utiliser un serveur SMTP

MAIL_MAILER prend la valeur 'smtp'. Indiquez l'adresse du serveur via MAIL_HOST.

25 est le port par défaut. Le port peut être changé, notamment pour sécuriser les envois via SSL (587, 465 ou 2525).

en mode non-authentifié

[MAIL_SETTINGS]

MAIL_PORT         = 25
MAIL_MAILER         = "smtp" 
MAIL_HOST         = "your.smtp.net" 
MAIL_SMTP_AUTH         = 0
MAIL_SMTP_USER         = "" 
MAIL_SMTP_PASS         = "" 

en mode authentifié

[MAIL_SETTINGS]

MAIL_PORT         = 25
MAIL_MAILER         = "smtp" 
MAIL_HOST         = "your.smtp.net" 
MAIL_SMTP_AUTH         = 1
MAIL_SMTP_USER         = "utilisateur" 
MAIL_SMTP_PASS         = "motdepasse" 

Important : En cas d'envoi via smtp en mode authentifié, assurez vous que les constantes MAIL_FROM et MAIL_REPLY, définies dans la section [MAIL_INFORMATIONS] aient la même valeur que MAIL_SMTP_USER !

Encryption

L'utilisation d'un SMTP encrypté est autorisée et même recommandée.

Si vous utilisez une version de Linea21 > 2.7 (reposant sur la librairie symfony/mailer par défaut), l'encryption est utilisée par défaut.

L'ajout de la constante MAIL_SMTP_ENCRYPTION à votre fichier de configuration forcera la vérification du paire TLS désactivée par défaut par Linea21.

Aujourd'hui, la version 5.4.21 de symfony/mailer est utilisée. A partir de la version 7.1, il sera possible de désactiver TLS.

Si vous utilisez une version de Linea21 < 2.7 ou avez fait le choix explicite de poursuivre en utilisant 'swiftMailer', il vous suffit d'ajouter la constante MAIL_SMTP_ENCRYPTION à votre fichier de configuration en spécifiant la valeur 'tls' ou 'ssl' suivant les prérequis du serveur SMTP. Voir la documentation de swiftMailer.

Choisir un envoi différé

Il est possible de configurer l'envoi différé d'email de masse. Pour cela remplacez la valeur de MAIL_BULK par défaut paramétrée à 'nodelay' par un entier. Cet entier désigne le nombre d'emails à traiter par lot. Veillez à ce que la valeur soit compatible avec les limitations imposées par votre hébergeur Web, le cas échéant.

[MAIL_SETTINGS]

MAIL_BULK    = 200

Par défaut, le script d'envoi différé est exécuté chaque 10 minutes. Si ce rythme ne vous convient pas vous pouvez modifier son comportement en vous référent à la documentation de référence.

Utiliser la fonction PHP native mail()

Bien que l'application utilise par défaut SwiftMailer, il est possible d'envoyer les emails directement via la fonction native PHP email().
Pour cela il suffit de préciser à MAIL_MAILER une valeur qui n'est ni `smtp` ni `sendmail`. Pour des questions de lisibilité, nous vous invitons à choisir une valeur explicite telle que `PHP`, `mail`, `php_mail`, ...

Attention : cette option n'est plus disponible en version 2.6, en raison d'une mise à jour de la librairire SwiftMailer qui a supprimé cette possibilité pour des raisons de sécurité.

Sur un hébergement Free.fr

Free est gratuit mais certains paramétrages y sont spécifiques.

Par conséquent, MAIL_MAILER doit prendre la valeur "*mail*"

[MAIL_SETTINGS]
MAIL_USE_SSL       = 0
MAIL_SENDMAIL       = "/usr/sbin/sendmail -t -i" 
MAIL_MAILER_SSL       =  0
MAIL_HOST_SSL       =  0
MAIL_PORT_SSL       = 465
MAIL_MAILER       = "mail" 
MAIL_HOST       = 0
MAIL_SMTP_AUTH       = 0
MAIL_SMTP_USER       =  0
MAIL_SMTP_PASS       =  0

Remarque : Free.fr ajoute des entêtes spécifiques - et exotiques (XPARM / XPARAM2) au message envoyé via la fonction PHP mail() (la seule disponible).
Nous avons constaté que certains serveurs de mail refusaient les messages contenant ces entêtes.

Linea21 n'est pas responsable de ce désagrément. Choisissez un hébergement de type professionnel si vos exigences sont professionnelles.

Updated by Simon about 1 month ago · 12 revisions