Итак, механиз уже давно известен. Но есть проблема: пользоваться решением, описанным в предыдущей заметке, довольно неудобно: правка php_interface/init.php, настройка клиента в коде...
Но пришлось время избавиться от всего этого Пришло время обернуть всё это в удобный модуль. [spoiler] Предпочтительный вариант установки модуля — из PEAR-канала:
при установке через систему обновлений: Fatal error: require_once() [function.require]: Failed opening required 'Net/SMTP.php' (include_path='.:/usr/local/zend/share/ZendFramework/library:/usr/local/zend/share/pear') in /var/www/bitrix/modules/sh.mailtransport/include.php on line 9 как установить peer на VMBitrix?
Кстати в модуле Почтальон ошибка в классе Capall_MailTransport_Sender,
из за которой вместо Кому приходит Array. Было так: // $to string may contains many recipients. $to = split(',', $to); foreach ($to as $recipient) { $recipient = trim($recipient);
if (!empty($recipient)) { if (PEAR::isError($settingResult = $this->_transport->rcptTo($recipient))) { throw new Capall_MailTransportException($settingResult); } } }
Установил модуль и перестал загружаться сайт. Я был в шоке. Потом удалил папку модуля, сайт стал загружаться. Вытащил процедуру unistall и запустил отдельно, вроде все стало по прежнему. Долго выяснял в чем причина. Наименование модуля и его описание не отображается, потому что переменные нужно сделать var, а не public. А ломается сайт потому что перед процедурами в install.php есть public, его надо убрать. После этого модуль встает корректно.
Да все просто. 1. Заходишь в папку с php, например, C:\Program Files (x86)\PHP\. 2. Запускаешь батничек go-pear.bat. Отвечаешь на все вопросы утвердительно. 3. Как только только все установится - появится батничек pear.bat. 4. На всякий случай перезагружаешь IIS. 5. Ну у все, можешь пользоваться командой pear из командной строки. т.е. можно как раньше - скачал библиотеку Net_SMTP, распаковал в папку с php, запустил pear.bat install <имя библиотеки>, а потом вставил нужный код в php_interface/init.php. Или по новому - цепляешь модуль из PEAR-канала.
Fatal error: require_once() [function.require]: Failed opening required 'Net/SMTP.php' (include_path='.:/php/includes') in /usr/lib/php/capall/mailtransport/include.php on line 9
Net_smtp установлен, но находится в /php/Net/ а не в php/includes где можно исправить этот путь?
Здравствуйте, модуль установил, ввел @ для gmail и пароль к почте, при использовании стандартной формы для обратной связи - письма не отправляются, хотя в форме пишет что сообщение отправлено! В журнале ошибка [PEAR Error] Failed to connect socket: php_network_getaddresses: getaddrinfo failed: Name or service not known
этот же модуль, с некоторыми изменениями в качественную сторону:
добавлена возможность работы с неколькими серверами, возможность отключения авторизации (есть серверы и без неё), тест отправки письма непосредственно из админки (с выводом результатов прямо в неё), логирование ошибок изменено. Также в модуль включен PEAR чтоб не быть зависимым от него в системе
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».