2010-09-20 152 views
1

我試圖發送一封感謝電子郵件給提交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鉤呢?

回答

1

您可以使用hook_mail_alter編輯使用hook_mail創建的郵件,這是webform使用的郵件。

+0

我試過,但它不工作:功能mythemename_mail_alter(&$消息){if($ message ['id'] =='webform_18'){$ message ['body'] [] = nl2br($ message ['body']); }} – EricP 2010-09-22 13:08:54

0

不能在主題中使用hook_mail_alter(),只能在自定義模塊中使用。

0

老主題,但仍然有用我猜。在網絡表單模塊的編輯頁面有一個選項/字段集與額外的處理:

<?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 
"; 


} ?> 

希望這有助於

希丁克範·德·沃爾