Open main menu
This page is a translated version of the page Manual:$wgSMTP and the translation is 100% complete.

Other languages:
English • ‎français • ‎magyar • ‎polski • ‎português do Brasil • ‎中文 • ‎日本語
Configuration des courriels: $wgSMTP
Pour utiliser une connexion directe (authentifiée) au serveur SMTP.
Introduit dans la version :1.2.0
Retiré dans la version :Encore utilisé
Valeurs autorisées :voir ci-dessous
Valeur par défaut :false

Détails

Pour utiliser une connexion directe (authentifiée) au serveur SMTP, vous devez remplir un tableau avec les détails concernant votre connexion. Mettez la valeur à false (par défaut) pour utiliser la fonction intégrée PHP mail().

Par exemple :

$wgSMTP = [
    'host'     => "mail.example.com", // peut également être une adresse IP. Celle du serveur SMTP
    'IDHost'   => "example.com",      // Généralement, ce sera le nom de domaine de votre site web (par exemple mywiki.org)
    'port'     => 25,                 // Port à utiliser lors de la connexion au serveur SMTP
    'auth'     => true,               // Faut-il utiliser l'authentification SMTP (true ou false)
    'username' => "my_user_name",     // Nom d'utilisateur à utiliser pour l'authentification SMTP (si utilisée)
    'password' => "my_password"       // Mot de passe à utiliser pour l'authentification SMTP (si utilisée)
];

'IDHost' est un paramètre spécifique de MediaWiki utilisé pour construire l'entête Message-ID du courriel (voyez RFC 2822, section 3.6.4 pour plus d'information sur un Message-ID correctement formaté). Si non fourni, sera par défaut à $wgServer . Pour les autres paramètres, voyez Mail::factory() pour une description plus complète. (descendez jusqu'au paramètre smtp).

Installer les dépendances (MediaWiki 1.31 et plus ancien)
  Avertissement : Ce paramètre nécessite que le paquet Mail de PEAR soit installé (exécutez pear install MAIL Net_SMTP, puis pear list pour confirmer). Depuis MediaWiki 1.27 (git #a372e170), les dépendances PEAR requises sont déjà groupées. Si vous obtenez un message d'erreur indiquant que pear n'est pas installé, installez php-pear, puis réessayez. Des conflits peuvent apparaître si vous avez plusieurs versions différentes de ces paquets PEAR installés sur votre système. Dans ce cas, il suffit de les désinstaller avec la commande pear uninstall mail pear/Auth_SASL net_smtp

Vous pouvez également installer pear/mail à l'aide de Composer avec la commande :

composer require pear/mail

MediaWiki 1.31 a ajouté pear/mail à la section required de composer.json, le prenant ainsi en compte. Précédemment (de MédiaWiki 1.26 à 1.30) il ne se trouvait que dans la section suggest . En conséquence, pour MediaWiki 1.31+, l'installation de pear/mail n'est pas nécessaire. Néanmoins jusques MédiaWiki 1.32, pear/net_smtp n'a pas été ajouté à composer.json , et donc il doit être installé. Pour MediaWiki 1.30 et plus ancien pear/mail doit être installé.

Ces paquets peuvent être installés par Composer en créant un composer.local.json comme :

{
	"require": {
		"pear/mail": "1.4.1",
		"pear/net_smtp": "1.8.0"
	}
}

Voir Utilisation du greffon composer-merge .

Exemples

Serveur Outlook Exchange

$wgSMTP = [
    'host'     => "outlook.corporatedomain.com",
    'IDHost'   => "corporatationname.com",
    'port'     => 25,
    'auth'     => false,
    'username' => "name@corporationname.com",
    'password' => "pw1245"
];

Gmail

Notez que vous devrez utiliser un « mot de passe d'application » au lieu de votre mot de passe habituel Gmail (voir explications ici).

$wgSMTP = [
    'host' => 'ssl://smtp.gmail.com',
    'IDHost' => 'gmail.com',
    'localhost' => 'myservername.org',
    'port' => 465,
    'username' => 'myemail@gmail.com',
    'password' => '16 digit special gmail app password',
    'auth' => true
];

Après cela, vous pouvez obtenir une erreur de type d'échec d'authentification. Vous devrez vous connecter au compte Gmail que vous utilisez et vérifier que la personne qui vient de vous connecter est bien vous. Vous avez seulement besoin de vérifier ceci une fois. (Gmail vous enverra un courriel et vous aurez à suivre simplement les instructions)

AWS SES

Le service de messagerie simplifié de Amazon Web Services (Simple E-mail Service) peut être utilisé pour la prise en charge de SMTP. Notez que si votre instance AWS SES est configurée en mode 'bac à sable' (Sandbox) vous devez modifier la valeur de vos paramètres de configuration $wgPasswordSender et $wgEmergencyContact pour qu'ils contiennent une addresse courriel que vous avez vérifiée dans la console AWS SES. Si de nouveaux utilisateurs s'enregistrent et qu'il ne sont pas dans la liste vérifiée, ils ne recevront pas le courriel et vous serez limité à 200 courriels par jour !

$wgSMTP = [
    'host' => 'tls://email-smtp.us-east-1.amazonaws.com', // Provided by Amazon SES to you
    'IDHost' => 'email-smtp.us-east-1.amazonaws.com', // Provided by Amazon SES to you
    'port' => 465,
    'username' => 'ISJAKSJAETQKJSAS8RP3LSFA', // Provided by Amazon SES to you
    'password' => '13HJASHjhjhjHAkjhkhA/hUfJHSIFAjjAskJADOIW2',  // Provided by Amazon SES to you
    'auth' => true
];

Résolution des problèmes

Erreur lors de l'envoi du courriel : 'Unknown error' dans la fonction PHP mail() de Mediawiki

Assurez-vous que $wgEmergencyContact et $wgPasswordSender sont correctement définis et correspondent à votre adresse courriel. Certains hôtes refusent d'envoyer un courriel avec un nom d'expéditeur qui ne correspond pas à celui de l'envoyeur.

Assurez-vous d'avoir installé les paquets nécessaires pour envoyer le courrier.

$ sudo pear install mail
$ sudo pear install net_smtp

Voir aussi les problèmes possibles dans tâche T32260.

Si votre serveur a SELinux activé, assurez-vous de le configurer correctement pour permettre l'envoi de courriels depuis le serveur web.

Erreur lors de l'envoi du courriel: échec d'authentification SMTP: STARTTLS

Le courrier de PEAR essaiera d'utiliser TLS[1] lors de la connexion au serveur de messagerie si le serveur le prend en charge, même si vous ne spécifiez pas ssl:// dans l'hôte. Mais si le certificat du serveur n'est pas valide (CA[2] non sécurisé, le certificat a expiré, CN[3] ne correspond pas au nom du serveur ou à l'adresse IP, etc.), il refusera de fonctionner et vous obtiendrez l'erreur suivante :

authentication failure [SMTP: STARTTLS failed (code: 220, response: begin TLS negotiation)]

Vous devez corriger les problèmes de certificat pour que le courrier puisse fonctionner.

Problèmes de temporisation avec AWS SES

Par défaut, Amazon EC2 bloque le trafic sur le port SMTP 25 pour toutes les instances. Si vous continuez à recevoir des erreurs de débordement de temporisation d'attente pour l'utilisation du port SMTP 25, vous pouvez demander la suppression de la commande ou de modifier le port utilisé pour l'envoi (par exemple, port 587). Pour davantage d'informations, voir Comment résoudre les problèmes de connectivité SMTP et les débordements de temporisation avec Amazon SES ?

Références

Voir aussi