Configuration des mails » History » Revision 8
Revision 7 (Simon, 12/05/2014 04:19 PM) → Revision 8/12 (Simon, 05/21/2015 04:48 PM)
h1. Configuration du système d'envoi d'emails
L'envoi d'emails par l'application repose sur la librairie PHP SwiftMailer [[http://swiftmailer.org]].
h2. Sendmail, configuration par défaut
Par défaut, l'application est configurée pour envoyer les messages avec _sendmail_.
<pre>
<code class="php">
[MAIL_SETTINGS]
MAIL_SENDMAIL = "/usr/sbin/sendmail -t -i"
MAIL_PORT = 25
MAIL_MAILER = "sendmail"
</code>
</pre>
h2. Utiliser un serveur SMTP
*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).
h3. en mode non-authentifié
<pre>
<code class="php">
[MAIL_SETTINGS]
MAIL_PORT = 25
MAIL_MAILER = "smtp"
MAIL_HOST = "your.smtp.net"
MAIL_SMTP_AUTH = 0
MAIL_SMTP_USER = ""
MAIL_SMTP_PASS = ""
</code>
</pre>
h3. en mode authentifié
<pre>
<code class="php">
[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"
</code>
</pre>
h2. 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.
<pre>
<code class="php">
[MAIL_SETTINGS]
MAIL_BULK = 200
</code>
</pre>
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.
h2. 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`, ...
h2. 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*"
<pre>
<code class="php">
[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
</code>
</pre>
_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.