我正在尝试向以HTML格式提交表单的用户发送一封感谢邮件。 我在template.php文件中使用了一个钩子,就像这样可以正确设置头文件:
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;
}
这对“谢谢”电子邮件很有用。 网站管理员使用表单结果获得的电子邮件也是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中的钩子完成吗?
答案 0 :(得分:1)
您可以使用hook_mail_alter
编辑使用hook_mail
创建的邮件,这是网络表单使用的邮件。
答案 1 :(得分:0)
您不能在主题中使用hook_mail_alter(),只能在自定义模块中使用。
答案 2 :(得分:0)
旧主题,但我猜仍然有用。在webform模块编辑页面上有一个带有附加处理的选项/字段集:
<?php
$to = $form_values['submitted_tree']['uw_gegevens']['e_mail'];
$from = "no-reply@example.com";
$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
";
} ?>
希望这有帮助
Guus van de Wal