MODX. QuickEmail, быстрая диагностика почтовой службы

QuickEmail можно использовать для отправки писем из какого-либо сниппета, но его основное назначение — диагностика работоспособности функционала отправки почты.

Дополнение устанавливается как и большинство компонентов, через инсталлер MODX. Для использования, просто поместите вызов дополнения на странице сайта.

[[!QuickEmail]]

При просмотре страницы на которой размещен вызов, должна отработать функция отправки сообщения. Если никаких проблем нет, то на почту, указанную при установке cms (можно найти в системных настройках по коду emailsender), должно прийти письмо.

Если ни письма ни ошибки не видно, попробуйте вызвать дополнение так

[[!QuickEmail? &debug=`1`]]

Диагностика проблем электронной почты

Возможные ошибки

  • “Could not instantiate mail function” — на хостинге отключена функция mail();
  • “AUTH failed” — в настройках modx используется отправка с помощью smtp требующая авторизацию. Проверьте правильность доступов, либо используйте mail();

Отправка почты из сторонних сниппетов

Код ниже можно использовать в сторонних снипетах, но это не лучшее решение, т.к. дополнение обрабатывает кучу информации и лишь затем отправляет почту используя MODX mailer. Гораздо более правильным решением будет — сразу использовать MODX mailer.

$props = array(
    'debug' => '0',
    'hideOutput' => '0',
    'message' => 'Некое сообщение',
    'subject' => 'Какая-то тема',
    'to' => '[email protected]',
    'fromName' => 'Кто-то Кто-тович',
    'emailSender' => '[email protected]',
    'replyTo' => '[email protected]',
    'html' => '1',
    'failureMessage' => '<br /><h3 style=&quot;color:red&quot;>Отправка провалена</h3>',
    'successMessage' => '<br /><h3 style =&quot;color:green&quot;>Почта успешно отправлена</h3>',
    'errorHeader' => '<br />Ошибка почты:',
    'smtpErrorHeader' => '<br />Отчет SMTP-сервера:',
);

$output =  $modx->runSnippet('QuickEmail',$props);
return $output;<br /><br /><br />

Использование MODX Mailer для отправки электронной почты

$modx->getService('mail', 'mail.modPHPMailer');
$modx->mail->set(modMail::MAIL_BODY, 'Some message');
$modx->mail->set(modMail::MAIL_FROM, '[email protected]');
$modx->mail->set(modMail::MAIL_FROM_NAME, 'Your Name');
$modx->mail->set(modMail::MAIL_SENDER, '[email protected]');
$modx->mail->set(modMail::MAIL_SUBJECT, 'Some Subject');
$modx->mail->address('to', '[email protected]', 'UserName');
$modx->mail->address('reply-to', '[email protected]');
$modx->mail->setHTML(true);
$sent = $modx->mail->send();
if ($sent) {
    $output = 'Mail Sent';
} else {
    $output = 'Mail Not Sent';
}
return $output;

 

Описание от разработчика

Была ли статья полезной?