Dobrý den,
mám problém s odesíláním e-mailu v Drupalu.
Používám funkci drupal_mail().
V hook_submit mám tento kód:
$values = $form_state['values'];
$to = 'email@seznam.cz';
$from = $values['mail'];
drupal_mail('nazev_modulu', 'page_mail', $to, language_default(), $values, $from);
Mám problém s tím, že mi vždy dojde prázdný e-mail. Vyplněná je pouze položka $from.
Nevíte prosím, kde dělám chybu?
Děkuji za snahu a rychlou odpověď!
Vaše rada mě "nakopla". Pročetl jsem si pečlivěji drupal api a bylo potřeba použít ještě hook_mail(), který zachytává Drupal_mail().
Takže, parametr $params v hook_mail je pole hodnot předaných funkcí Drupal_mail() ( pole hodnot z formulářových polí ).
Použítí v hook_mail je potom následující:
$message['subject'] = $params['subject'];
$message['body'][] = $params['body'];
E-mail se poté celý odešle.
Dobrý den. Já jsem používal zatím jenom vylepšený mime mail, takže netuším, kde jsou záludnosti této funkce. Ale zkusil bych si ověřit, že ve $values máte parametry přímo pro mail. Tipuju, že asi ne. Čili podobně jako hovoří příklad na api.drupal.org:
$values['subject'] = 'Předmět zprávy';
$values['body'][] = 'Text zprávy';