Moodle电子邮件功能不起作用

时间:2015-06-17 13:26:44

标签: php moodle

您好我想在moodle数据库表中插入记录后立即发送电子邮件,以下代码无法正常工作

if ($recs = $ti_form->get_data()) {
    // Do something with the data, then redirect to a new page
    $lastinsertid = $DB->insert_record('suggestions', $recs);
    $toUser = 'omerzia@live.com';
    $fromUser = 'ICAN';
    $subject = 'New Suggestion Added';
    $messageText = 'New Suggestion Added';
    $sent = email_to_user($toUser, $fromUser, $subject, $messageText);
    //mail($to, $subject, $message, $headers);

    if($sent) {
      print "Email successfully sent";
    }else{
      print "There was an error sending the mail";
     }

       redirect('suggestions.php');
}

以上代码提供者错误消息。可能是什么原因?任何帮助非常感谢。

由于

2 个答案:

答案 0 :(得分:2)

如果查看email_to_user()函数的phpdoc标头,前两个参数应该是用户对象而不是字符串。

* @param stdClass $user  A {@link $USER} object
* @param stdClass $from A {@link $USER} object

所以对于用户来说

$touser = $DB->get_record('user', array('email' => 'omerzia@live.com');

对于来自用户,您可以使用支持用户

$fromuser = core_user::get_support_user();

答案 1 :(得分:0)

  

在Moodle中启用电子邮件调试

     

在Moodle插件中开发电子邮件支持时,您可以制作   通过启用电子邮件调试,生活变得更加容易   应该只在开发环境中完成。设置都是   在同一个地方,你通常会把Moodle调试   开发者模式。只需完成以下步骤:

  1. 点击网站管理>高级功能>开发>调试
  2. 将Debug消息设置为DEVELOPER:为开发人员提供额外的Moodle调试消息
  3. 选中显示调试消息框。
  4. 检查调试电子邮件发送框。
  5. 点击页面底部的保存更改。
  6. 完成调试后,不要忘记返回并禁用这些设置。

    调试你的工作,这将显示一些对你的问题有帮助的输出。