尝试发送给您一封email,但是失败了!
Moodle注册时,出现这个错误且并未出现错误代码提示,原因在于邮件发送失败,SMTP配置出错,但用户是注册成功的,却登陆不了。若需要用户登陆,需要管理员“确认”审核。
网站管理——用户——账户——浏览用户——添加过滤筛选器(已确认=否)——显示未审核用户(确认)
然后,这并没有最终解决问题,核心是SMTP配置。
Moodle要解决这个问题,需要两个条件:
1、windows server操作系统能发送邮件;
2、正确设置Moodle
一、安装与配置sendmail
使用php内置的mail()函数发送邮件,需要配置php.ini和sendmail.ini
首先需要安装sendmail(下载地址:http://glob.com.au/sendmail/),直接解压,最好解压到Php目录里。
(1)配置php.ini
在php.ini中只填写 sendmail_path,其他选项都用;注释掉
sendmail_path = "C:\php\bin\sendmail\sendmail.exe -t"
(2)配置sendmail.ini
以腾讯企业邮箱为例
;邮箱的smtp
smtp_server= smtp.exmail.qq.com
;坑之一,默认是25,查明smtp使用ssl的默认端口填写
smtp_port=465
;开启ssl
auto = use SSL for port 465, otherwise try to use TLS
;smtp_ssl=auto
;巨坑之二,填写邮箱名称,密码是stmp授权密码
auth_username=***@glut.edu.cn
auth_password=********dppKVm3a
force_sender=*****@glut.edu.cn
重启Apache!!!
httpd -k restart
若有必要,重启电脑!
(3)测试sendmail
<?php
// The message
$message = "Line 1\nLine 2\nLine 3";
// In case any of our lines are larger than 70 characters, we should use wordwrap()
$message = wordwrap($message, 70);
// Send
$r=mail('******@qq.com', 'My Subject', $message);
var_dump($r);
?>
一切配置好之后,接下来设置moodle。
二、配置与调试Moodle
(1)配置Moodle
网站管理——服务器——电子邮件——发送邮件设置
如图:
注意:SMTP主机不填写,为空。即,使用sendmail里的配置。
(2)调试
下载Moodle中的mailtest插件,安装位置
D:\Apache24\htdocs\moodle\local
调试:
网站管理——服务器——电子邮件——eMail Test
填写目标发送邮件即可。
注意:
这里的发送邮件,可以与sendmail里填写的邮件不一致,收件人收到的邮件显示的是这里的邮件地址。
到此,Moodle邮件发送失败的问题得以全面的解决。新用户注册Moodle,平台发一封确认邮件到用户的注册邮箱里,用户打开邮件点击确认链接就可以**注册账号了。
用户忘记密码,可以使用邮箱找回密码。