Manual:$wgSMTP
<translate> Email settings</translate>: $wgSMTP | |
---|---|
For using a direct (authenticated) SMTP server connection. |
|
<translate> Introduced in version:</translate> | 1.2.0 |
<translate> Removed in version:</translate> | <translate> still in use</translate> |
<translate> Allowed values:</translate> | see below |
<translate> Default value:</translate> | false |
<translate> Other settings:</translate> <translate> Alphabetical</translate> | <translate> By function</translate> |
Details
To send emails (email confirmations, notifications, Special:Emailuser ), you should use a third party email provider and allow MediaWiki to send email with it through SMTP. The settings are stored as an array in $wgSMTP. Set to false (the default value) to use the built-in PHP mail() function, but do note that if you do so your emails will most likely end up in the user's spam folder.
Also configure $wgEmergencyContact
and make sure $wgPasswordSender
matches the sending email address.
$wgSMTP is configured like so:
$wgSMTP = [
'host' => 'mail.example.com', // could also be an IP address. Where the SMTP server is located. If using SSL or TLS, add the prefix "ssl://" or "tls://".
'IDHost' => 'example.com', // Generally this will be the domain name of your website (aka mywiki.org)
'localhost' => 'example.com', // Same as IDHost above; required by some mail servers
'port' => 587, // Port to use when connecting to the SMTP server
'auth' => true, // Should we use SMTP authentication (true or false)
'username' => 'my_user_name', // Username to use for SMTP authentication (if being used)
'password' => 'my_password' // Password to use for SMTP authentication (if being used)
];
IDHost
is a MediaWiki-specific setting used to build the Message-ID email header (see RFC 2822, sec 3.6.4 for more information on a properly formatted Message-ID).
If not provided, will default to $wgServer .
For the remaining settings, see Mail::factory() for a more complete description.
(Scroll down to the smtp
parameter.)
Examples
Troubleshooting
Error sending mail: Unknown error in PHP's mail() function MediaWiki
Be sure that $wgEmergencyContact
and $wgPasswordSender
are set correctly, and match your email address.
Some hosts will reject to send an email with a sender that doesn't match the account that sends the email.
If your server has SELinux enabled, be sure to configure it correctly to enable sending mails from the webserver.
Error sending mail: authentication failure SMTP: STARTTLS
PEAR's mail will try to use TLS when connecting to the mail server if the server supports it, even if you don't specify ssl:// in the host. But if the server certificate is not valid (CA not trusted, certificate has expired, CN does not match server name/IP address, etc.) it will refuse to work, and instead you'll get the following error:
authentication failure [SMTP: STARTTLS failed (code: 220, response: begin TLS negotiation)]
You must fix the certificate issues for mail to work.
Timeout issues
If the incorrect port is used, email will timeout without returning an error, and the website will appear unresponsive to the user. Consult your email provider's manual or try the other common SMTP ports: 25, 465, and 587.
- Timeout issues with AWS SES
By default, Amazon EC2 throttles traffic on SMTP port 25 for all instances. If you continue to receive timeout errors using SMTP port 25, you can request that the throttle be removed or you can change the port that is used for sending (for example, 587). For more information, see How do I troubleshoot SMTP connectivity or timeout issues with Amazon SES?
require_once(): Failed opening required Net/Socket.php
Check your LocalSettings.php for any lines that call set_include_path
. These should not be needed but can mess up SMTP support. Remove them from LocalSettings.php if present.
Mailserver does not accept sender (From)
If you are not able to send any email because your mailserver says something like "you are not authorized to use this sender" (or something like that), first check if your "SMTP username" is consistent with your email sender (see $wgPasswordSender ) then, if you have an old wiki, see $wgUserEmailUseReplyTo .
If you don't solve it, contact your mailserver.
See also
- Configuration
- Manual:Configuration settings - various settings related to email
- Manual:$wgEnableEmail (enabled by default)
- Extensions