我正在尝试向以 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 中的钩子来完成吗?