drupal Webform HTML电子邮件挂钩
问题描述:
我试图发送一封感谢电子邮件给提交HTML格式的用户。 我发现在这样我的template.php文件中使用挂钩工作正确设置标题:drupal Webform HTML电子邮件挂钩
function mythemename_webform_mail_headers($form_values, $node, $sid) {
$headers = array(
'Content-Type' => 'text/html; charset=UTF-8; format=flowed; delsp=yes',
'X-Mailer' => 'Drupal Webform (PHP/'. phpversion() .')',
);
return $headers;
}
这工作freat的“谢谢你”的电子邮件。 网站管理员使用表单结果获得的电子邮件也是html,但它不会将换行符转换为此电子邮件中的中断。我无法弄清楚如何使用挂钩这一点,所以我不得不编辑webform.module文件,并做到这一点:
function webform_mail($key, &$message, $params) {
$message['headers'] = array_merge($message['headers'], $params['headers']);
$message['subject'] = $params['subject'];
//$message['body'][] = drupal_wrap_mail($params['message']); // replaced this with line below
$message['body'][] = nl2br(drupal_wrap_mail($params['message']));
}
可以这样用的template.php钩呢?
答
不能在主题中使用hook_mail_alter(),只能在自定义模块中使用。
答
老主题,但仍然有用我猜。在网络表单模块的编辑页面有一个选项/字段集与额外的处理:
<?php
$to = $form_values['submitted_tree']['uw_gegevens']['e_mail'];
$from = "[email protected]";
$achternaam = $form_values['submitted_tree']['uw_gegevens']['uw_naam'];
$message = drupal_mail('webform_extra', 'reply', $to, language_default(), array('body' => $body), $from, TRUE);
function webform_extra_mail($key, &$message, $params) {
$message['subject'] = "TEXT.";
$message['body'] = "
TEXT, " . $params['achternaam'] . "
TEXT.
KIND REGARDS,
TEXT
";
} ?>
希望这有助于
希丁克范·德·沃尔
我试过,但它不工作:功能mythemename_mail_alter(&$消息){if($ message ['id'] =='webform_18'){$ message ['body'] [] = nl2br($ message ['body']); }} – EricP 2010-09-22 13:08:54