Добавлено в 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
Настройка находится в меню: «Настройки» ? «Настройки системы»
Ошибка: Ошибка кода в поле «Действие после добавления объекта» компонента.
Взяли за основу шикарную библиотеку SwiftMailer, накрутили обёртку к нему, закрыв попутно доступ к основной библиотеке.
В итоге - хочешь, например, воспользоваться функционалом основной библиотеки (например, для добавления header-ов к письму) - изволь использовать её standalone, поскольку почему-то в Netcat не смогли написать пару функций для прокидывания вызовов функций к основной библиотеке SwiftMailer...
И в итоге правильная и хорошая идея с обёрткой для быстрой отправки писем от Netcat, которая знает всё о самом Netcat и тем самым позволяет проще делать эту отправку становится плохой идеей, поскольку любой шаг в сторону от целых трёх(!!!) функций (public function send, public function attachFile, public function attachFileEmbed) из обёртки Netcat вынуждает вас к полномасштабной замене класса для отправки писем с последующим игнорированием всех так красиво встроенных в админку сайта настроек для этой самой отправки.
И сделайте разделение настроек SMTP для разных сайтов. ОЧЕНЬ не хватает этого.