MODX. QuickEmail, быстрая диагностика почтовой службы
Отредактировано: 19 Апреля 2018
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' => 'someone@somewhere.com',
'fromName' => 'Кто-то Кто-тович',
'emailSender' => 'someone@somewhere.com',
'replyTo' => 'someone@somewhere.com',
'html' => '1',
'failureMessage' => '<br /><h3 style="color:red">Отправка провалена</h3>',
'successMessage' => '<br /><h3 style ="color:green">Почта успешно отправлена</h3>',
'errorHeader' => '<br />Ошибка почты:',
'smtpErrorHeader' => '<br />Отчет SMTP-сервера:',
);
$output = $modx->runSnippet('QuickEmail',$props);
return $output;
Использование MODX Mailer для отправки электронной почты
$modx->getService('mail', 'mail.modPHPMailer');
$modx->mail->set(modMail::MAIL_BODY, 'Some message');
$modx->mail->set(modMail::MAIL_FROM, 'someone@somewhere.com');
$modx->mail->set(modMail::MAIL_FROM_NAME, 'Your Name');
$modx->mail->set(modMail::MAIL_SENDER, 'you@yourdomain.com');
$modx->mail->set(modMail::MAIL_SUBJECT, 'Some Subject');
$modx->mail->address('to', 'somone@somewhere.com', 'UserName');
$modx->mail->address('reply-to', 'you@yourdomain.com');
$modx->mail->setHTML(true);
$sent = $modx->mail->send();
if ($sent) {
$output = 'Mail Sent';
} else {
$output = 'Mail Not Sent';
}
return $output;
Здравствуйте!
Позвольте представиться, меня зовут Марина. Более 10 лет я занимаюсь обслуживанием сайтов и развитием интернет проектов. Если вы хотите избавиться от хлопот связанных с созданием и поддержкой сайта, тогда вы попали по адресу. При работе с сайтами я предоставляю качественные услуги, ориентируясь на ваши индивидуальные потребности. Для связи со мной воспользуйтесь формой обратной связи.