Project

General

Profile

Configuration des mails » History » Version 10

Simon, 06/16/2024 03:48 PM

1 4 Simon
h1. Configuration du système d'envoi d'emails
2 1 Simon
3 7 Simon
L'envoi d'emails par l'application repose sur la librairie PHP SwiftMailer [[http://swiftmailer.org]].
4
5 6 Simon
h2. Sendmail, configuration par défaut
6 1 Simon
7 6 Simon
Par défaut, l'application est configurée pour envoyer les messages avec _sendmail_. 
8 4 Simon
9 6 Simon
<pre>
10
<code class="php">
11
[MAIL_SETTINGS]
12
13
MAIL_SENDMAIL 		= "/usr/sbin/sendmail -t -i"
14
MAIL_PORT 		= 25
15
MAIL_MAILER 		= "sendmail"
16
</code>
17
</pre>
18
19
20
21
h2. Utiliser un serveur SMTP
22
23
*MAIL_MAILER* prend la valeur _'smtp'_. Indiquez l'adresse du serveur via *MAIL_HOST*. Le port peut être changé (_25_ est le port par défaut).
24
25
h3. en mode non-authentifié
26
27
<pre>
28
<code class="php">
29
[MAIL_SETTINGS]
30
31
MAIL_PORT 		= 25
32
MAIL_MAILER 		= "smtp"
33
MAIL_HOST 		= "your.smtp.net"
34
MAIL_SMTP_AUTH 		= 0
35
MAIL_SMTP_USER 		= ""
36
MAIL_SMTP_PASS 		= ""
37
</code>
38
</pre>
39
40
h3. en mode authentifié
41
42
<pre>
43
<code class="php">
44
[MAIL_SETTINGS]
45
46
MAIL_PORT 		= 25
47
MAIL_MAILER 		= "smtp"
48
MAIL_HOST 		= "your.smtp.net"
49
MAIL_SMTP_AUTH 		= 1
50
MAIL_SMTP_USER 		= "utilisateur"
51
MAIL_SMTP_PASS 		= "motdepasse"
52
</code>
53 1 Simon
</pre>
54 10 Simon
55
*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 !*
56
57 7 Simon
58
59 8 Simon
h2. Choisir un envoi différé
60
61
62
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.
63
64
<pre>
65
<code class="php">
66
[MAIL_SETTINGS]
67
68
MAIL_BULK	= 200
69
</code>
70
</pre>
71
72
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.
73
74 7 Simon
h2. Utiliser la fonction PHP native _mail()_
75
76
Bien que l'application utilise par défaut SwiftMailer, il est possible d'envoyer les emails directement via la fonction native PHP _email()_.
77 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`, ...
78 1 Simon
79 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é.*
80 6 Simon
81 4 Simon
h2. Sur un hébergement Free.fr
82
83
84
Free est gratuit mais certains paramétrages y sont spécifiques.
85
86
Par conséquent, *MAIL_MAILER* doit prendre la valeur "*mail*"
87
88
<pre>
89 6 Simon
<code class="php">
90 1 Simon
[MAIL_SETTINGS]
91
MAIL_USE_SSL       = 0
92
MAIL_SENDMAIL       = "/usr/sbin/sendmail -t -i"
93
MAIL_MAILER_SSL       =  0
94
MAIL_HOST_SSL       =  0
95
MAIL_PORT_SSL       = 465
96
MAIL_MAILER       = "mail"
97
MAIL_HOST       = 0
98
MAIL_SMTP_AUTH       = 0
99
MAIL_SMTP_USER       =  0
100
MAIL_SMTP_PASS       =  0
101 6 Simon
</code>
102 4 Simon
</pre>
103 3 Simon
104
105 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).
106
*Nous avons constaté que certains serveurs de mail refusaient les messages contenant ces entêtes.* 
107 3 Simon
108 4 Simon
_Linea21 n'est pas responsable de ce désagrément_. Choisissez un hébergement de type professionnel si vos exigences sont professionnelles.