Jump to navigation Jump to search
This page is a translated version of the page Manual:$wgSMTP and the translation is 24% complete.
メールの設定: $wgSMTP
For using a direct (authenticated) SMTP server connection.


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. PHP 組み込みの mail() 関数を使用する場合は false (既定値) を設定します。ただし、その場合、メールは利用者のスパム フォルダーに保存される可能性が高いことに注意してください。

Also configure $wgEmergencyContact and make sure $wgPasswordSender matches the sending email address.

$wgSMTP is configured like so:

$wgSMTP = [
    'host'     => '', // IP アドレスも指定できます。SMTP サーバーのアドレスを指定します。 If using SSL or TLS, add the prefix "ssl://" or "tls://".
    'IDHost'   => '',      // Generally this will be the domain name of your website (aka
    'port'     => 587,                // SMTP サーバーに接続する際に使用するポート
    'auth'     => true,               // SMTP 認証を使用するかどうか (true または false)
    'username' => 'my_user_name',     // SMTP 認証に使用するユーザー名 (使用する場合)
    'password' => 'my_password'       // SMTP 認証に使用するパスワード (使用する場合)

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). 指定しなかった場合は、既定値の $wgServer になります。 残りの設定については、より完全な説明がある Mail::factory() を参照してください。 (smtp パラメーターまでスクロールしてください。)

Install dependencies for older versions of MediaWiki (version MediaWiki 1.31 and earlier)
For MediaWiki version 1.31 and earlier)
警告 警告: 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. It may also cause conflicts if you have different versions of those PEAR packages installed on your system. In that case, you can remove the installed ones with the command pear uninstall mail pear/Auth_SASL net_smtp

You may also install pear/mail with Composer with the command:

composer require pear/mail

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

These packages can be installed with Composer by creating a composer.local.json like:

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

Outlook Exchange Server

$wgSMTP = [
    'host'     => '', // hostname of the email server
    'IDHost'   => '',
    'port'     => 587,
    'auth'     => false,
    'username' => '', // user of the email account
    'password' => '****************' // pass of the email account


Note that you'll need to use an "App password" instead of your usual Gmail password, as explained here.

$wgSMTP = [
    'host' => 'ssl://', // hostname of the email server
    'IDHost' => '',
    'port' => 465,
    'username' => '', // user of the email account
    'password' => '****************', // app password of the email account
    'auth' => true

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)


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 $wgPasswordSender and $wgEmergencyContact 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!

$wgSMTP = [
    'host' => 'tls://', // Provided by Amazon SES to you
    'IDHost' => '', // Provided by Amazon SES to you
    'port' => 465,
    'username' => '************************', // Provided by Amazon SES to you
    'password' => '******************************************',  // Provided by Amazon SES to you
    'auth' => true



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?