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 のフックで実行できますか?