0

问题是我的网站上的邮件不起作用。有发送邮件的代码

....

$params['subject'] = $mail_subject;
    $params['body'] = $mail_body;
    $to = 'dmitriikotow@gmail.com'
    $from = 'mail@ckeverest.ru';
    $lang = language_default();

drupal_mail('everest_mail', 'html_mail', $to, $lang, $params, $from, false);

....

有自定义邮件模块代码

<?php

class EverestMailSystem extends DefaultMailSystem {
  public function format(array $message) {
    $message['body'] = implode("\n\n", $message['body']);
    $message['body'] = drupal_wrap_mail($message['body']);
    return $message;
  }
}

function everest_mail_mail($key, &$message, $params) {
  switch ($key) {
    case 'html_mail':
      $message['headers']['Content-Type'] = 'text/html; charset=UTF-8;';
      $message['subject'] = $params['subject'];
      $message['body'][] = $params['body'];
      break;
  }
}

?>

乍一看,一切都应该工作。有人怀疑问题出在模块之外,因为发送消息工作直到最后一次更新站点的外观(我没有参与更新)。由于模块不是我写的,所以我需要一个比我更有经验的程序员的意见。

无论如何,我想知道。在我的情况下,我在哪里可以找到有用的日志站点?并在他们的帮助下发现错误?

太感谢了。

4

1 回答 1

0

Drupal 使用一个名为 watchdog 的模块来处理日志记录(D8 和更早版本)。有几种方法可以访问这些日志:

  • 如果您使用的是 Drush,您只需键入drush ws即可查看最近 10(ish) 日志条目的列表。(专业提示:每个日志条目都有一个 id,如果您键入drush ws [ID],您可以看到更多详细信息)
  • Drupal 附带一个名为“数据库日志”或“数据库日志”的模块。如果启用此模块,您将在“报告”菜单项下获得“查看最近的日志消息”页面。除非万不得已,否则请勿在生产站点上启用此模块。
  • 我 99% 确定 Drupal 的看门狗日志已通过管道传输到您的系统日志中,因此您也应该能够将它们放入其中。在 OSX (ahem) MacOS 中,您可以使用控制台应用程序来查看日志,或者只是tail在命令行上使用来跟踪您的系统日志

希望有帮助

于 2016-06-15T13:24:01.980 回答