Онлайн-руководство разработчика NetCat
Новогодние скидки до 25%!
Подробнее
Модуль «Поиск по сайту» 12.2.1Начало работы с модулем 12.2.2Язык запросов 12.2.3Способы хранения индекса 12.2.4Интерфейс модуля в панели управления сайтом 12.2.5Области индексирования 12.2.6Области HTML-страниц 12.2.7Области поиска на сайте 12.2.8Индексирование по расписанию, запуск индексирования в фоновом режиме 12.2.9Правила индексирования 12.2.10Постановка задачи переиндексирования в очередь 12.2.11Интеграция модуля в макеты дизайна сайта 12.2.12Простая форма поиска 12.2.13Расширенная форма поиска 12.2.14Вывод результатов поиска 12.2.15Стилизация списка подсказок 12.2.16Расширенные настройки 12.2.17Разработка расширений модуля 12.2.18Обзор архитектуры модуля 12.2.19Обработчики документов различных типов 12.2.20Текстовые фильтры 12.2.21Анализаторы текста 12.2.22Корректировщики запросов 12.2.23Подключение других поисковых систем 12.2.24Решение проблем с поиском 12.2.25Решение проблем с индексированием 12.2.26Справочник API

Класс работы с письмами (smtp)

Добавлено в FB #1429

В первую очередь необходимо настрить систему для работы с SMTP. Откройте страницу «Настройки → Настройки системы». В блоке «Рассылки» установите опцию «Использовать SMTP».

Откроется форма, в которой нужно заполнить требуемые данные.

Класс CMIMEMail, который также используется для отправки писем, теперь наследует методы от нового системного класса nc_Mail (/netcat/system/nc_mail.class.php). Этот класс доступен в коде как:

$nc_core = nc_Core::get_object();
$nc_core->mail;

Пример отправки письма, аналогичный использовавшему CMIMEMail:

$to        = "кому@адрес.ru";
$from      = "от_кого@адрес.ru";
$reply     = "ответ_прислать_сюда@адрес.ru";
$to_name   = "Имя получателя";
$from_name = "Имя отправителя";
$subject   = "Тема письма";
$text      = "<b>Привет!</b>";
$nc_core = nc_Core::get_object();
$nc_core->mail->mailbody( strip_tags($text), $text);
$nc_core->mail->attachFile("../attach.docx", "Документ.docx", "application/octet-stream");
$nc_core->mail->send($to, $from, $reply, $subject, $from_name, $to_name);

Комментарии 13

santik  isantik.ru 12 августа 2014, 22:01:44
Где найти данную настройку в netcat 5.4? (в 5.2 так же не нашел).
   
amigo 13 августа 2014, 09:57:29
Alex, эта функция добавлена в Friday Build #1429, версия системы 5.4.
Настройка находится в меню: «Настройки» ? «Настройки системы»
   
Не работает!
Ошибка: Ошибка кода в поле «Действие после добавления объекта» компонента.
   
АйПромо  iPromo 06 февраля 2015, 14:40:43
Такая же проблема. Business 5.5 + Friday Build #1505
   
АйПромо  iPromo 06 февраля 2015, 14:53:34
Ошибку выдает, если неправильно настроена авторизация. Но если все правильно, то почта просто не приходит
   
Проверил/перепроверил настройки авторизации - всё правильно. А ошибка действия после добавления имеет место быть. NetCat Extra версия 5.6.0
   
Сработало только с SSL.
   
Arturito  Феерично 19 марта 2015, 20:28:34
Работает все. Только вот хорошо бы было иметь возможность для каждого сайта отдельно данные забивать. А то получается, что все письма с одного адреса приходят.
   
Arturito  Феерично 20 марта 2015, 18:35:13
И еще по поводу поля from_name. Имя отправителя отображается в письме, а вот в адрес отправителя подставляется значение, указанное в настройках smtp.
   
Владимир  Web-Element 15 апреля 2015, 20:08:16
Очень не хватает разделения настроек для разных сайтов и тестовой рассылки - для проверки работы рассылки через smtp, с выводом ошибок, если такие возникают или сообщение о том, что всё хорошо, если ошибок не возникает.
   
Александр  Zavarka Team 30 сентября 2016, 15:19:43
Узнаю родной Netcat. =)

Взяли за основу шикарную библиотеку SwiftMailer, накрутили обёртку к нему, закрыв попутно доступ к основной библиотеке.
В итоге - хочешь, например, воспользоваться функционалом основной библиотеки (например, для добавления header-ов к письму) - изволь использовать её standalone, поскольку почему-то в Netcat не смогли написать пару функций для прокидывания вызовов функций к основной библиотеке SwiftMailer...
И в итоге правильная и хорошая идея с обёрткой для быстрой отправки писем от Netcat, которая знает всё о самом Netcat и тем самым позволяет проще делать эту отправку становится плохой идеей, поскольку любой шаг в сторону от целых трёх(!!!) функций (public function send, public function attachFile, public function attachFileEmbed) из обёртки Netcat вынуждает вас к полномасштабной замене класса для отправки писем с последующим игнорированием всех так красиво встроенных в админку сайта настроек для этой самой отправки.
   
Влад 29 мая 2019, 17:26:17
Это конечно всё хорошо, но почему у меня неткат удаляет тэг <form></form>????
   
Владимир  Web-Element 04 апреля 2020, 16:41:21
Добавьте уже возможность проверки правильности настроек SMTP путём отправки тестового письма и показа результата.
И сделайте разделение настроек SMTP для разных сайтов. ОЧЕНЬ не хватает этого.
   
Описание проекта