我已经编写了一个带有自定义表单api的drupal模块,该模块将在每次提交时向我的收件箱发送电子邮件。我在drupal_mail下写了一个条件,该条件返回true但显示错误消息“无法发送电子邮件。如果问题仍然存在,请联系站点管理员。”
在我的代码下面:
function my_module_name_mail($key, &$message, $params)
{
$headers = array(
'MIME-Version' => '1.0',
'Content-Type' => 'text/html; charset=UTF-8;',
'Content-Transfer-Encoding' => '8Bit',
'X-Mailer' => 'Drupal'
);
foreach ($headers as $key => $value) {
$message['headers'][$key] = $value;
}
$message['subject'] = $params['subject'];
$message['body'] = $params['body'];
}
function my_module_name_form_submit($form, &$form_state)
{
$from = $form_state['values']['email'];
$body= 'Name: '.$name.'<br />Email: '.$email;
$to = "my_mail_id@example.com";
$params = array(
'body' => $body,
'subject' => 'Website Information Request',
);
drupal_mail('my_module_name', 'some_mail_key', $to, language_default(), $params, $from, TRUE);
}
答案 0 :(得分:0)
检查您的Drupal日志以获取更多线索。启用devel
/ devel-admin
个模块。一旦你这样做,drupal_mail会将电子邮件传送到你的临时目录,如果你的电子邮件服务器或配置出现问题,这将帮助你缩小范围。