Рейтинг:0

Отправить загруженный файл по электронной почте из поля файла в узле пользователю с помощью Rules + Swiftmailer

флаг kr

У меня есть тип узла «счет-фактура», который содержит поле файла «field_invoice» (pdf). Я настраиваю действие следующих правил и ищу способ, чтобы правила забрали файл из «field_invoice» и отправили электронное письмо с файлом, прикрепленным к пользователю.

У меня D9.3.x и правильно работают Rules + Swiftmailer.

Это мои текущие правила

  • Событие: после сохранения нового объекта контента типа «Счет-фактура».
  • Условие: Объект относится к пакету (узел, узел, счет-фактура)
  • Действие: Отправить электронное письмо

Пока я в порядке. Я могу получить доступ к «field_invoice» в действии «Отправить электронное письмо».

Следующим шагом, который я попробовал, является создание пользовательского модуля с этим в mymodule.module:

$file->uri = '<что здесь разместить?>'; // Путь файла
$file->filename = '<и что сюда вставить?>'; //Имя файла
$file->filemime = 'application/pdf'; //Тип MIME файла
$params['attachments'][] = $file;
$mailManager->mail($module, $key, $to, $langcode, $params, NULL, $send);

функция mymodule_mail($key, &$message, $params) {
  переключатель ($ ключ) {
    case 'my_email_key':
      $message['body'][] = $params['body'];
      $message['subject'] = $params['subject'];
      $message['params']['attachments'] = $params['attachments'];
      сломать;
  }
}

Но я понятия не имею, как позволить моему модулю подобрать мое правило и передать загруженный файл при его запуске. Есть много похожих вопросов, на которые есть хорошие ответы, но все они относятся к эпохе D7 с устаревшей информацией. Я нахожу мало документации или примеров использования того, как добиться этого с помощью D8-D9.

Документация, которую я нашел, но мне было недостаточно:

Как добавить вложение PDF в электронное письмо?

https://www.drupal.org/project/swiftmailer/issues/2713651

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.