Manual:$wgSMTP

Details
To send emails (email confirmations, notifications, ), 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  function, but do note that if you do so your emails will most likely end up in the user's spam folder.

Also configure  and make sure  matches the sending email address.

$wgSMTP is configured like so:

is a MediaWiki-specific setting used to build the Message-ID email header (see [http://www.faqs.org/rfcs/rfc2822.html RFC 2822, sec 3.6.4] for more information on a properly formatted Message-ID). If not provided, will default to . For the remaining settings, see <tvar|1>Mail::factory</> for a more complete description. (Scroll down to the <tvar|smtp> </> parameter.)


 * Install dependencies for older versions of MediaWiki (version <tvar|1></> and earlier)

MediaWiki 1.31 added <tvar|1> </> to the <tvar|req> </> section of <tvar|json> </>, thereby bundling it. Previously (MW 1.26 to 1.30) it had only be in the <tvar|suggest> </> section. As such, for MW 1.31+ installation of <tvar|pmail> </> is not required. However, <tvar|smtp> </> was not added to <tvar|composer> </> until MW 1.32, and thus it must be installed. For MediaWiki 1.30 and earlier <tvar|pmail> </> must be installed.

These packages can be installed with Composer by creating a <tvar|json> </> like:

See 1>Special:MyLanguage/Composer#Using composer-merge-plugin</>|Using composer-merge-plugin.

Gmail
Note that you'll need to use an "App password" instead of your usual Gmail password, as explained [<tvar|apppassword>https://support.google.com/accounts/answer/185833</> here].

After this you may get an authentication failure type error. You will need to sign into the gmail account you are using and verify that the person that just signed in is you. You only need to verify this one time. (gmail will send you an email and you just follow the instructions)

AWS SES
Amazon Web Services' Simple Email Service can be used for SMTP support. Note that if your AWS SES instance is configured in 'Sandbox' mode you should change your settings to configuration parameters  and   to an email address that you have verified in the AWS SES console. If new users register and they are not in the verified list, they will not get the email and you will be limited to 200 emails per day!

Error sending mail: Unknown error in PHP's mail function MediaWiki
Be sure that <tvar|EmergencyContact></> and <tvar|PasswordSender></> 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 <tvar|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.

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 [<tvar|url>https://aws.amazon.com/premiumsupport/knowledge-center/smtp-connectivity-timeout-issues-ses/?nc1=h_ls</> How do I troubleshoot SMTP connectivity or timeout issues with Amazon SES?]
 * Timeout issues with AWS SES