Отправка письма на e-mail через API MODX

Зачастую в различных скриптах или приложениях нам необходимо настроить отправку сообщений на указанный email или на несколько адресов. Многие используют в таком случае широко известную библиотеку PHPMailer. Мы же хотим предложить вам альтернативный вариант, который в первую очередь прекрасен тем, что не использует сторонних библиотек и скриптов, а работает напрямую через API MODX. Тем самым, можно с уверенностью сказать о том, что данный скрипт отправки сообщений будет работать в MODX "из коробки".

/*Активируем почтовый сервис MODX*/
$modx->getService('mail', 'mail.modPHPMailer');
$modx->mail->set(modMail::MAIL_FROM, $modx->getOption('emailsender'));
$modx->mail->set(modMail::MAIL_FROM_NAME, $modx->getOption('site_name'));

/*Адрес получателя нашего письма*/
$modx->mail->address('to', 'user@example.com');

/*Заголовок сообщения*/
$modx->mail->set(modMail::MAIL_SUBJECT, 'Ваша учётная запись активирована');

/*Подставляем чанк с телом письма (предварительно его нужно создать)*/
$modx->mail->set(modMail::MAIL_BODY, $modx->getChunk('myEmailTemplate'));

/*Отправляем*/
$modx->mail->setHTML(true);
if (!$modx->mail->send()) {
    $modx->log(modX::LOG_LEVEL_ERROR,'An error occurred while trying to send the email: '.$modx->mail->mailer->ErrorInfo);
}
$modx->mail->reset();

также, если вам необходимо настроить вложение файлов, то можно использовтаь данную команду:

$modx->mail->attach($attachment);
Яндекс.Метрика Рейтинг@Mail.ru