Configuration des mails » History » Version 12
Simon, 06/16/2024 04:25 PM
1 | 4 | Simon | h1. Configuration du système d'envoi d'emails |
---|---|---|---|
2 | 1 | Simon | |
3 | 11 | Simon | L'envoi d'emails par l'application repose sur la librairie PHP "SwiftMailer":http://swiftmailer.org jusqu'à la version 2.6.x. |
4 | 1 | Simon | |
5 | 11 | Simon | Depuis la version 2.7, l'envoi d'email repose sur la librairie "symfony/mailer":https://github.com/symfony/mailer. |
6 | |||
7 | Il est possible de prolonger l'utilisation de 'swiftMailer' en ajoutant la constante optionnelle *MAIL_LIBRARY == 'swiftMailer'* à votre fichier config.ini. |
||
8 | |||
9 | 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":https://dev.linea21.com/projects/linea21/wiki/ConstantesLinea21#Param%C3%A9trage-de-lenvoi-demails-mail_settings. |
||
10 | |||
11 | 6 | Simon | h2. Sendmail, configuration par défaut |
12 | 1 | Simon | |
13 | 11 | Simon | |
14 | 6 | Simon | Par défaut, l'application est configurée pour envoyer les messages avec _sendmail_. |
15 | 4 | Simon | |
16 | 6 | Simon | <pre> |
17 | <code class="php"> |
||
18 | [MAIL_SETTINGS] |
||
19 | |||
20 | MAIL_SENDMAIL = "/usr/sbin/sendmail -t -i" |
||
21 | MAIL_PORT = 25 |
||
22 | MAIL_MAILER = "sendmail" |
||
23 | </code> |
||
24 | </pre> |
||
25 | |||
26 | 1 | Simon | |
27 | 6 | Simon | h2. Utiliser un serveur SMTP |
28 | 1 | Simon | |
29 | 11 | Simon | *MAIL_MAILER* prend la valeur _'smtp'_. Indiquez l'adresse du serveur via *MAIL_HOST*. |
30 | 6 | Simon | |
31 | 11 | Simon | 25 est le port par défaut. Le port peut être changé, notamment pour sécuriser les envois via SSL (587, 465 ou 2525). |
32 | |||
33 | 6 | Simon | h3. en mode non-authentifié |
34 | |||
35 | <pre> |
||
36 | <code class="php"> |
||
37 | [MAIL_SETTINGS] |
||
38 | |||
39 | MAIL_PORT = 25 |
||
40 | MAIL_MAILER = "smtp" |
||
41 | MAIL_HOST = "your.smtp.net" |
||
42 | MAIL_SMTP_AUTH = 0 |
||
43 | MAIL_SMTP_USER = "" |
||
44 | MAIL_SMTP_PASS = "" |
||
45 | </code> |
||
46 | </pre> |
||
47 | |||
48 | h3. en mode authentifié |
||
49 | |||
50 | <pre> |
||
51 | <code class="php"> |
||
52 | [MAIL_SETTINGS] |
||
53 | |||
54 | MAIL_PORT = 25 |
||
55 | MAIL_MAILER = "smtp" |
||
56 | MAIL_HOST = "your.smtp.net" |
||
57 | MAIL_SMTP_AUTH = 1 |
||
58 | MAIL_SMTP_USER = "utilisateur" |
||
59 | MAIL_SMTP_PASS = "motdepasse" |
||
60 | </code> |
||
61 | 1 | Simon | </pre> |
62 | |||
63 | *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 !* |
||
64 | |||
65 | 11 | Simon | h3. Encryption |
66 | |||
67 | L'utilisation d'un SMTP encrypté est autorisée et même recommandée. |
||
68 | 1 | Simon | |
69 | 12 | Simon | 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. |
70 | 1 | Simon | |
71 | 12 | Simon | L'ajout de la constante MAIL_SMTP_ENCRYPTION à votre fichier de configuration forcera la "vérification du paire TLS":https://symfony.com/doc/5.x/mailer.html#tls-peer-verification désactivée par défaut par Linea21. |
72 | 11 | Simon | |
73 | 12 | Simon | 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":https://symfony.com/doc/current/mailer.html#disabling-automatic-tls. |
74 | |||
75 | 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":https://swiftmailer.symfony.com/docs/sending.html#encrypted-smtp. |
||
76 | 7 | Simon | |
77 | |||
78 | 8 | Simon | h2. Choisir un envoi différé |
79 | |||
80 | |||
81 | 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. |
||
82 | |||
83 | <pre> |
||
84 | <code class="php"> |
||
85 | [MAIL_SETTINGS] |
||
86 | |||
87 | MAIL_BULK = 200 |
||
88 | </code> |
||
89 | </pre> |
||
90 | |||
91 | 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":http://dev.linea21.com/projects/linea21/wiki/CronJobs#Localisation-des-Cronjobs. |
||
92 | |||
93 | 7 | Simon | h2. Utiliser la fonction PHP native _mail()_ |
94 | |||
95 | Bien que l'application utilise par défaut SwiftMailer, il est possible d'envoyer les emails directement via la fonction native PHP _email()_. |
||
96 | 9 | Simon | 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`, ... |
97 | 1 | Simon | |
98 | 9 | Simon | *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é.* |
99 | 6 | Simon | |
100 | 4 | Simon | h2. Sur un hébergement Free.fr |
101 | |||
102 | |||
103 | Free est gratuit mais certains paramétrages y sont spécifiques. |
||
104 | |||
105 | Par conséquent, *MAIL_MAILER* doit prendre la valeur "*mail*" |
||
106 | |||
107 | <pre> |
||
108 | 6 | Simon | <code class="php"> |
109 | 1 | Simon | [MAIL_SETTINGS] |
110 | MAIL_USE_SSL = 0 |
||
111 | MAIL_SENDMAIL = "/usr/sbin/sendmail -t -i" |
||
112 | MAIL_MAILER_SSL = 0 |
||
113 | MAIL_HOST_SSL = 0 |
||
114 | MAIL_PORT_SSL = 465 |
||
115 | MAIL_MAILER = "mail" |
||
116 | MAIL_HOST = 0 |
||
117 | MAIL_SMTP_AUTH = 0 |
||
118 | MAIL_SMTP_USER = 0 |
||
119 | MAIL_SMTP_PASS = 0 |
||
120 | 6 | Simon | </code> |
121 | 4 | Simon | </pre> |
122 | 3 | Simon | |
123 | |||
124 | 4 | Simon | _Remarque_ : Free.fr ajoute des entêtes spécifiques - et exotiques (XPARM / XPARAM2) au message envoyé via la fonction PHP _mail()_ (la seule disponible). |
125 | *Nous avons constaté que certains serveurs de mail refusaient les messages contenant ces entêtes.* |
||
126 | 3 | Simon | |
127 | 4 | Simon | _Linea21 n'est pas responsable de ce désagrément_. Choisissez un hébergement de type professionnel si vos exigences sont professionnelles. |