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. |