Configuration des mails » History » Version 11
Simon, 06/16/2024 04:17 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 | |
66 | h3. Encryption |
||
67 | |||
68 | L'utilisation d'un SMTP encrypté est autorisée et même recommandée. |
||
69 | |||
70 | Si vous utilisez une version de Linea21 > 2.7 (reposant sur la librairie symfony/mailer par défaut), il vous suffit d'ajouter la constante MAIL_SMTP_ENCRYPTION à votre fichier de configuration avec n'importe quelle valeur (ex _MAIL_SMTP_ENCRYPTION = 1_ ). "La librairie se chargera du reste":https://symfony.com/doc/current/mailer.html#disabling-automatic-tls. |
||
71 | |||
72 | 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. |
||
73 | |||
74 | Pour l'activer, il suffit d'ajouter la constante dédiée à votre fichier de configuration : |
||
75 | 7 | Simon | |
76 | |||
77 | 8 | Simon | h2. Choisir un envoi différé |
78 | |||
79 | |||
80 | 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. |
||
81 | |||
82 | <pre> |
||
83 | <code class="php"> |
||
84 | [MAIL_SETTINGS] |
||
85 | |||
86 | MAIL_BULK = 200 |
||
87 | </code> |
||
88 | </pre> |
||
89 | |||
90 | 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. |
||
91 | |||
92 | 7 | Simon | h2. Utiliser la fonction PHP native _mail()_ |
93 | |||
94 | Bien que l'application utilise par défaut SwiftMailer, il est possible d'envoyer les emails directement via la fonction native PHP _email()_. |
||
95 | 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`, ... |
96 | 1 | Simon | |
97 | 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é.* |
98 | 6 | Simon | |
99 | 4 | Simon | h2. Sur un hébergement Free.fr |
100 | |||
101 | |||
102 | Free est gratuit mais certains paramétrages y sont spécifiques. |
||
103 | |||
104 | Par conséquent, *MAIL_MAILER* doit prendre la valeur "*mail*" |
||
105 | |||
106 | <pre> |
||
107 | 6 | Simon | <code class="php"> |
108 | 1 | Simon | [MAIL_SETTINGS] |
109 | MAIL_USE_SSL = 0 |
||
110 | MAIL_SENDMAIL = "/usr/sbin/sendmail -t -i" |
||
111 | MAIL_MAILER_SSL = 0 |
||
112 | MAIL_HOST_SSL = 0 |
||
113 | MAIL_PORT_SSL = 465 |
||
114 | MAIL_MAILER = "mail" |
||
115 | MAIL_HOST = 0 |
||
116 | MAIL_SMTP_AUTH = 0 |
||
117 | MAIL_SMTP_USER = 0 |
||
118 | MAIL_SMTP_PASS = 0 |
||
119 | 6 | Simon | </code> |
120 | 4 | Simon | </pre> |
121 | 3 | Simon | |
122 | |||
123 | 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). |
124 | *Nous avons constaté que certains serveurs de mail refusaient les messages contenant ces entêtes.* |
||
125 | 3 | Simon | |
126 | 4 | Simon | _Linea21 n'est pas responsable de ce désagrément_. Choisissez un hébergement de type professionnel si vos exigences sont professionnelles. |