Вы здесь

Отправка почты в Drupal 8 из своего модуля

1

Господа, помогите пожалуйста разобраться с MailManager в Drupal 8. У меня есть модуль, который получает на вход определенные данные, что-то с ними делает, и при возникновении некоторой ситуации должен отправить письмо админу. Вот только из официальной документации мне не совсем понятно, как правильно это сделать. Вот мой вариант:

$mailManager = \Drupal::service('plugin.manager.mail');
    $module = 'mymodule';
    $key = 'notice';
    $to = "admin@test.ru";
    $params['body'] = $text;
    $params['subject'] = "Сообщение с сайта";
    $langcode = "ru";
    $send = true;
    $result = $mailManager->mail($module, $key, $to, $langcode, $params, NULL, $send);

Но при этом сообщение не отправляется, а появляется надпись "Сообщение пустое". Как мне правильно его оформить?

Версия Drupal: 
8.x
Вопрос задан 16.08.2016 - 12:07

Ответы

1

не хватает имплементациии hook_mail() - смотрите пример и делайте аналогично http://valuebound.com/resources/blog/how-to-send-mail-programmatically-d...

Ответ дан 16.08.2016 - 12:23
Аватар пользователя drupby
drupby
456

Спасибо, все получилось. Оказывается, в контроллере модуля мы определяем "шаблон" письма, а непосредственно отправка происходит в hook_mail(). Как я понимаю, это же письмо может модифицироваться и в hook_mail() других модулей.

Комментарий оставлен 16.08.2016 - 21:51