MediaWiki 默认采用本机作为邮件发送服务器,而发出去的邮件很容易被接收方当成垃圾邮件或者直接被屏蔽掉,所以建议直接采用第三方smtp服务器,以腾讯企业邮箱为例:
安装需要的库
PHP 7 使用 composer 安装依赖库
composer require --update-no-dev pear/mail pear/net_smtp
如果安装的是 alpha 版(从 Git 下载的),去掉 --update-no-dev 选项。
PHP 5 用 pear 安装:
sudo pear install Mail Net_SMTP
配置smtp
#编辑网站根目录下的 LocalSettings.php 配置文件
设置 $wgSMTP 和 $wgPasswordSender 变量
MediaWiki配置邮件官方文档:https://www.mediawiki.org/wiki/Manual:$wgSMTP
#查找 wgEnableEmail 关键字
#添加 类似如下行:
$wgSMTP = array( 'host' => "mail.example.com", // SMTP 服务器的地址 (或IP).如果使用了SSL,记得加上 ssl:// 'IDHost' => "example.com", // 汝的域名,可选.如果不设置的话会设置成 $wgServer 的值. 'port' => 25, // 端口(一般是25,SSL是465,StartTLS是587) 'auth' => true, // 是否需要 SMTP 认证 (多半都需要呗~) 'username' => "my_user_name", // SMTP 认证的用户名. 'password' => "my_password" // SMTP 认证的密码. );
举个例子:
$wgSMTP = array( 'host' => "ssl://smtp.exmail.qq.com", // qq 企业邮箱要求加密连接 'IDHost' => "exmail.qq.com", 'port' => 465, 'auth' => true, // 需要登录 'username' => "no_reply@example.com", // SMTP 认证的用户名. 'password' => "foo" // SMTP 认证的密码. );
有些时候 SMTP 服务器要求外发邮件地址中的发件人和实际一致,这时需要设置 $wgPasswordSender 变量:
#注意 确保配置文件中 username 是相同的;
$wgEmergencyContact = "no_reply@example.com";
$wgPasswordSender = "no_reply@example.com";
修改完以后用某个功能(例如修改邮件地址测试一下)
0 条评论。