sept
20
2011

Utiliser un serveur SMTP externe dans WordPress 3.2+

Bon, cet article sera fait à chaud après avoir bataillé entre WordPress et un tutoriel existant mais pas à jour. Nous allons donc voir comment utiliser un serveur SMTP externe pour l’envoi d’emails avec WordPress.

Pourquoi faire cela quand WordPress doit normalement tout gérer seul (en théorie). Et bien car parfois, il arrive qu’un serveur n’ai pas de serveur de messagerie installé. Dans ce cas, il se peut que WordPress ne vous renvoie pas d’erreur lors de l’envoie du mail et que celui-ci soit perdu avant d’avoir quitté le serveur.

Pour ce faire, il est possible de modifier le comportement de WordPress et de lui obliger de passer par un serveur SMTP externe à votre serveur Web.

Après les explications de base, ouvrez votre WordPress et rendez-vous dans le dossier /wp-includes/. Nous allons enfin mettre les mains dans le cambouis.

Tout d’abord ouvrez le fichier pluggable.php et allez jusqu’à la ligne 462. Vous devriez avoir ceci :

 PHP |  copy code |? 
462
$phpmailer->IsMail();

Nous allons la remplacer par cela :

 PHP |  copy code |? 
462
$phpmailer->IsSMTP();

Cette modification va tout simplement changer la méthode d’envoie des mails par WordPress. Nous lui indiquons ici de passer par les réglages SMTP.

Maintenant, nous allons toucher au fichier class-phpmailer.php. Ce fichier contient la classe PhpMailer qui s’occupe d’envoyer les e-mails.

Qu’allons-nous faire dans ce fichier ? Juste renseigner les informations de notre serveur. Tout ceci se déroule entre la ligne 180 et la ligne 217 :

 PHP |  copy code |? 
180
public $Host          = 'adresse de votre serveur';
181
 
182
/**
183
 * Sets the default SMTP server port.
184
 * @var int
185
 */
186
public $Port          = 25; //port de votre serveur
187
 
188
/**
189
 * Sets the SMTP HELO of the message (Default is $Hostname).
190
 * @var string
191
 */
192
public $Helo          = ''; //perso je ne m'en sers pas
193
 
194
/**
195
 * Sets connection prefix.
196
 * Options are "", "ssl" or "tls"
197
 * @var string
198
 */
199
public $SMTPSecure    = ''; //Si vous avez besoin d'une authentification SSL ou TLS, renseignez le.
200
 
201
/**
202
 * Sets SMTP authentication. Utilizes the Username and Password variables.
203
 * @var bool
204
 */
205
public $SMTPAuth      = false; //Metre à true si vous devez vous identifier dessus
206
 
207
/**
208
 * Sets SMTP username.
209
 * @var string
210
 */
211
public $Username      = ''; //login du serveur SMTP
212
 
213
/**
214
 * Sets SMTP password.
215
 * @var string
216
 */
217
public $Password      = ''; //Mot de passe du serveur SMTP

Voilà, normalement avec tout ceci, vous pouvez maintenant envoyer convenablement des e-mails avec WordPress via un serveur SMTP externe.

Articles Connexes

A propos de l'Auteur: Benjamin Besse

Je suis Analyste Développeur chez Goomeo et je suis passioné par tout ce qui touche aux technologies du Web. J'ai commencé par apprendre l'utilisation du Framework Zend et j'ai continué naturellement via Android. Le tout seulement avec les bases acquises en DUT et Licence professionnelle Informatique.

Laisser un commentaire

Mots-Clefs