Я пишу плагин, который должен добавить (динамическое) вложение к электронному письму, которое отправляется конечному пользователю. Но я застрял на одном:
Сначала я использовал хук EMAIL_ON_SEND
для добавления вложения в электронное письмо. Но похоже, что он будет добавлять вложение к каждому письму при каждом его вызове.
Для каждого письма оно вызывается два раза. Таким образом, к первому письму будет добавлено 2 вложения, а ко второму 4 и т. Д. И т. Д.
Второй подход заключался в использовании хука ON_SENT_EMAIL_TO_USER
. Но, похоже, этот вызов не вызывается до того, как электронное письмо (в сегменте) отправлено.
class EmailSubscriber extends CommonSubscriber
{
protected $helper;
public function __construct(IntegrationHelper $helper)
{
$this->helper = $helper;
$this->parser = new ApiParser();
}
/**
* @return array
*/
public static function getSubscribedEvents()
{
return [
// EmailEvents::EMAIL_ON_SEND => ['onEmailSend', 100],
EmailEvents::ON_SENT_EMAIL_TO_USER => ['onEmailSend', 100],
];
}
/**
* Search and replace tokens with content
*
* @param EmailSendEvent $event
*/
public function onEmailSend(EmailSendEvent $event)
{
error_log('123');
}
Почему-то мне нужно подключить реальное действие, которое отправляет электронное письмо, а не событие (?),Но я не могу понять, какой