Manual:$wgSMTP

From MediaWiki.org
Jump to: navigation, search
Translate this page; This page contains changes which are not marked for translation.

Other languages:
English • ‎français • ‎日本語 • ‎polski • ‎português do Brasil
Email settings: $wgSMTP
For using a direct (authenticated) SMTP server connection.
Introduced in version: 1.2.0
Removed in version: still in use
Allowed values: see below
Default value: false
Other settings: Alphabetical | By function

Details

For using a direct (authenticated) SMTP server connection, you need to fill an array with details about your connection. Set to false (the default value) to use the built-in PHP mail() function.

For example:

$wgSMTP = array(
 'host'     => "mail.example.com", // could also be an IP address. Where the SMTP server is located
 'IDHost'   => "example.com",      // Generally this will be the domain name of your website (aka mywiki.org)
 'port'     => 25,                 // 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 $wgServerManual:$wgServer. For the remaining settings, see Mail::factory() for a more complete description. (Scroll down to the smtp parameter.)

Warning Warning: This setting requires PEAR's Mail package to be installed (run pear install MAIL Net_SMTP, and you can run pear list to confirm). Since MediaWiki 1.27 (git #a372e170), the required PEAR dependencies are already bundled. If you get an error message stating that pear is not installed, then install php-pear and then try again.

Examples

  • Outlook Exchange Server
$wgSMTP = array(
 'host'     => "outlook.corporatedomain.com",
 'IDHost'   => "corporatationname.com",
 'port'     => 25,
 'auth'     => false,
 'username' => "name@corporationname.com",
 'password' => "pw1245"
);

Troubleshooting email

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.

As a possible workaround, put the following into LocalSettings.phpManual:LocalSettings.php, making the necessary substitutions for yourEmailAccount and yourEmailPassword:

$wgSMTP = array(
        'host' => 'ssl://smtp.gmail.com',
        'IDHost' => 'gmail.com',
        'port' => 465,
        'username' => 'yourEmailAccount@gmail.com',
        'password' => 'yourEmailPassword',
        'auth' => true
);

Then install the packages required to send the mail.

$ sudo pear install mail
$ sudo pear install net_smtp

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)

See also possible issues in task T32260.

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, 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.

See also