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配置邮件官方文档:/wiki/Manual:$wgSMTP
#查找 wgEnableEmail 关键字
#添加 类似如下行:
$wgSMTP = array(
'host' => "", // SMTP 服务器的地址 (或IP).如果使用了SSL,记得加上 ssl://
'IDHost' => "", // 汝的域名,可选.如果不设置的话会设置成 $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.", // qq 企业邮箱要求加密连接
'IDHost' => "",
'port' => 465,
'auth' => true, // 需要登录
'username' => "no_reply@", // SMTP 认证的用户名.
'password' => "foo" // SMTP 认证的密码.
);
有些时候 SMTP 服务器要求外发邮件地址中的发件人和实际一致,这时需要设置 $wgPasswordSender 变量:
#注意 确保配置文件中 username 是相同的;
$wgEmergencyContact = “no_reply@”;
$wgPasswordSender = “no_reply@”;
修改完以后用某个功能(例如修改邮件地址测试一下)
转载至链接:/rhymo/blog/1863139