# SMTP

大量用户实践反馈,使用第三方 SMTP 服务发送邮件是一种最稳定可靠的方式。

请勿在服务器上安装sendmail等邮件系统,因为邮件系统的路由配置受制与域名、防火墙、路由等多种因素制约,非常不稳定,且不易维护、诊断故障很困难。

下面以网易邮箱为例,提供设置 MediaWiki 发邮件的步骤:

  1. 在网易邮箱管理控制台获取 SMTP 相关参数
    SMTP host: smtp.163.com
    SMTP port: 465 or 994 for SSL-encrypted email
    SMTP Authentication: must be checked
    SMTP Encryption: must SSL
    SMTP username: websoft9@163.com
    SMTP password: #wwBJ8    //此密码不是邮箱密码,是需要通过163邮箱后台设置去获取的授权码
    
  2. 编辑网站根目录下的 LocalSettings.php 配置文件
  3. 找到变量 $wgSMTP,并设置它
     $wgSMTP = array(
     'host'     => "smtp.163.com", 
     'IDHost'   => "example.com",      // 邮箱域名,可选.如果不设置的话会设置成 $wgServer 的值.
     'port'     => 465,                 
     'auth'     => true,               
     'username' => "websoft9@163.com",     
     'password' => "#wwBJ8"       
     );
    
  4. 找到变量 $ wgEnableEmail,设置其值为 true
    $ wgEnableEmail = true
    
  5. 查找以下变量,将其值设置为发件邮箱
    $wgEmergencyContact = "websoft9@163.com";
    $wgPasswordSender = "websoft9@163.com";
    
  6. 保存设置
  7. 重启 PHP-FPM 服务后生效
  8. 测试是否可以发邮件

更多邮箱设置(QQ邮箱,阿里云邮箱,Gmail,Hotmail等)以及无法发送邮件等故障之诊断,请参考由Websoft9提供的 SMTP 专题指南 (opens new window)