Drupal_mail - Body beillesztése

pakati képe

Sziasztok!

Adott egy űrlap (Webform), aminek a Haladó beállításainál (Advanced Settings) használtam az Additional Processing mezőt, a kitöltőknek egy válaszlevél küldésére.
Azért volt erre szükség, mert a válaszlevélben számított értékek szerepelnek.
Eddig Drupal 5-ös rendszer alatt szépen ment is minden a drupal_mail függvénnyel, de Drupal 6 alatt annyira megváltozott a drupal_mail függvény, hogy sehogyan sem tudom beilleszteni az üzenetet a függvénybe. A neten kerestem mindenféle leírást, de számomra egy sem volt átlátható.

$message['body'][] = $uzenet;
 
$message['headers']['MIME-Version'] = '1.0';
$message['headers']['Content-Type'] = 'text/html; charset=UTF-8; format=flowed';
$message['headers']['Content-Transfer-Encoding'] = '8Bit';
$message['headers']['X-Mailer'] = 'Drupal';
$message['subject'] = $targy; 
 
$params['message'] = $message;
 
$language->language;
 
drupal_mail($module, $key, $to, $language, $params = array(), $from = NULL, $send = TRUE);
?>

Próbáltam így is beletenni, de így sem sikerült:

$headers = array(
'MIME-Version' => '1.0',
'Content-Type' => 'text/html; charset=UTF-8; format=flowed',
'Content-Transfer-Encoding' => '8Bit',
'X-Mailer' => 'Drupal'
);
 
$params['body'] = $uzenet;
$params['subject'] = $targy; 
$params['headers'] = $headers;
 
$language->language;
 
drupal_mail($module, $key, $to, $language, $params = array(), $from = NULL, $send = TRUE);

Az email megjön, tehát a függvény működik és a $to változót értelmezi is, de nincs tárgya az emailnek és teljesen üres.
Hogyan kell helyesen beilleszteni a változókat? (A Drupa 5-ben a $body sokkal egyszerűbb volt).

Köszönöm.

Drupal verzió: 
pakati képe

Nos sikerült kiszenvedni magamból a megoldást.
Mivel használom az SMTP és HTML Mail modulokat, ezért azt gyanítom, az email header-jét nem kell beállítanom, úgyhogy azt elhagytam.
A teljes üzenetet (azaz az email body részét) összeraktam egy $uzenet valtozoban - ott használtam az űrlap (webform) egyes mezőinek értékét is.
Ezután paraméterként definiáltam magát az üzenetet:

$params['uzenet'] = $uzenet;

Amit később átadtam a $message['body'][] változónak a megfelelő helyen:
$message['body'][] = $params['uzenet'];

Figyelni kell arra, hogy kell egy függvény (function), amiben összeállítjuk magát az emailt, mert a drupal_mail() függvény keresni fogja ezt. Mégpedig úgy, hogy ha a drupal_mail() függvényben azt adtuk meg az első paraméternek ($modules) hogy 'example' akkor a függvény neve 'example_mail' kell hogy legyen.
Tehát a kód amit használok az email elküldésére:
<?php
//Ezelott osszerakom az email body reszet a $uzenet valtozoban.
 
$params['uzenet'] = $uzenet;
 
function example_mail($key, &$message, $params) {
$message['language'] = $language;
switch($key) {
case 'notice':
$message['subject'] = 'Az email tárgya';
$message['body'][] = $params['uzenet'];
break;
}
}
 
$to = $form_values['submitted_tree']['elerhetseg']['e_mail'] . ", [email protected], [email protected]";
 
drupal_mail('example', 'notice', $to, $language, $params);
?>
0
0

//pakati

york képe

Minden webform urlaphoz lehet egyedi mail body sminket csinalni, ahol megkapod az urlapon kitoltott ertekeket.
A webform meg alapbol tud kuldeni a kitoltonek levelet.

0
0