1、首先在LocalSettings.php中$wgEnableEmail = true;、$wgEnableUserEmail = true; 设置为true
2、设置下面的邮件服务器、发送人的用户名和密码、端口等
$wgSMTP = array(
'host' => "smtp.163.com",
'IDHost' => "mail.163.com",
'port' => 25,
'auth' => true,
'username' => "xxx@163.com",
'password' => "xxx"
);
$wgEmergencyContact = "liwenhjuan@163.com";
$wgPasswordSender = "liwenhjuan@163.com";
$wgPasswordSenderName = 'liwenjuan';
$wgEnotifUserTalk = true; # UPO
$wgEnotifWatchlist = false; # UPO
$wgEmailAuthentication = false;
需要注意的是$wgEmergencyContact、$wgPasswordSender必须和username'保持一致,否则会发生组没有验证的错误 :Error sending mail: Group name did not validate.
3、设置好LocalSettings.php内容后运行会发现找不到mail.php。需要说明的是默认情况下php发送邮件是用mail方法。但是window中不支持此方法,所以我们需要用pear 及其组件来发送.所以我们需要安装pear及其组件
4、安装好pear后在LocalSettings.php中添加$path = array( $IP, "$IP/includes", "$IP/languages","D:/wamp/bin/php/php5.3.5/PEAR/PEAR","D:/wamp/bin/php/php5.3.5/PEAR");这样mediawiki就能找到pear的安装目录,不用我们在去发送邮件的代码中改了
5、记得不用改变php.ini中邮件的东西。如果出现连接不到本地邮件服务器的话说明你的设置有问题。我们用了pear之后就不用管本地的了
请参考我的另一篇日志。如何安装pear