О web-разработке
и даже немного больше...

VMBitrix: Отправка почты через Яндекс

Привет. Поговорим о виртуальной машине VMBitrix, а конкретнее о том, как настроить отправку почты через сторонний почтовый сервер. В моем случае использовалась виртуальная машина (формат Hyper-V), это специально сконфигурированная система, основанная на CentOS Linux, с набором установленных программных продуктов, готовых для быстрого развертывания веб-сервера под проекты на платформе 1C-Bitrix.
 
Задача была такова: корпоративная почта хостилась на серверах яндекса (yandex.ru), и возникла необходимость настроить отправку почты через яндекс. В официальной документации битрикса наглядно расписана процедура настройки почты, для случаев подобных моему, однако без прогулки по форумам в поиске решения по отладке работы почты не обошлось. Что получилось, в итоге смотрим далее.
 
Итак, начинаем с того момента, когда мы запускаем систему на виртуалке, появляется окно с приглашением ввода имени учетной записи в системе. Первое обязательное условие, необходимо произвести вход в систему под пользователем root. После успешного входа в систему появляется меню — своеобразный интерфейс, который содержит самые актуальные пункты параметров, необходимые для быстрого конфигурирования сервера для своего сайта.
Пункт настройки почты находиться под номером: 1. Mail sending system parameters.
 
vmbitrix-menu
Вводим цифру 1, появляется стандартный диалог настройки почтового сервера. Настроек здесь естественно по минимуму, в этом есть плюс, и в этом есть минус. Плюс – легко, минус – не всегда срабатывает), в общем, опять-таки палка двух концов.
Есть почтовый ящик с другим доменом, не @yandex.ru, хотя суть настроек от этого не меняется вовсе. Задача настроить отправку почты с этого почтового ящика, посредством SMTP с авторизацией.

Проходим процедуру настройки почты.

SMTP server name: — имя почтового сервера, т.к. выше уже было сказано, что почта у нас на яндексе я указал smtp.yandex.ru
 
SMTP port — порт сервера. Порт зависит от типа соединения, 25 — для обычного и 465 — для зашифрованного (с использованием SSL). Если нажать Enter, то будет использован порт по умолчанию (25). Я оставил порт по умолчанию — 25.
Default sender address — адрес отправителя, от которого будет осуществляться пересылка писем. Я указал в таком виде info@example.com – здесь ваш почтовый адрес на яндексе, с которого и должна отправляться почта.
 
Если необходима SMTP-авторизация, то в строке SMTP authorization required наберите y, в противном случае — n. Я выбрал SMTP-авторизацию, после этого будет предложено ввести имя пользователя и пароль. Имя пользователя я ввел аналогично, как и мой почтовый ящик: info@example.com и пароль от него соответственно.
 
Если необходим TLS-протокол защищенной передачи данных, то в строке Is TLS required? наберите y, в противном случае — n. Выбрал – n.
После завершения настройки все указанные параметры будут отображены в списке ниже, с предложением сохранить указанные параметры: Save changes? Сохраняем, вводим – y.
 
После этой процедуры проверим работу отправки писем, выполнив простой код, предложенный в документации:

if(mail("email@example.com", "TEST SUBJECT", "TEST BODY"))
echo "Почтовая система работает!";
else
echo "Неудача, почтовая система не работает, попробуйте еще!";

Для удобства данный код можно выполнить в админке битрикса.
Переходим в Настройки -> Инструменты -> Командная PHP строка, вставляем туда код, и пробуем выполнить.
Если письмо отправилось успешно, значит почта заработала.
У меня всё пошло иначе, почта не уходит вовсе, начал разбираться. После запуска мастера настройки почты в директории /home/bitrix/ создается файл конфигурации .msmtprc, в котором храниться конфигурация.
 
msmtprc
Первым делом обратил внимание на размещения файла с логами работы почтового сервера, директива logfile.
В файле логов была запись об ошибке такого рода:

errormsg='cannot use a secure authentication method'

Вбил в поисковик, в конечном итоге, после прочтения нескольких веток на форуме выяснилось, что в файле конфигурации .msmtprc есть строка с параметром auth on, стоило заменить это значение на auth login, и всё заработало.
Согласно документации, параметр auth определяет тип авторизации, и в зависимости от конкретного почтового сервера, к которому производиться подключение необходимо указать то или иное значение.
В прочем, это не единственная причина, по которой может не работать почта, но у меня была проблема именно в этом.

Опубликован: 12.04.2014 г.

См. также:

«Не удалось установить соединение с сервером. Проверьте …».
Получение Email-адреса покупателя в заказе (Bitrix D7)
Работа с URL-адресами в Bitrix D7
Работа с купонами в Bitrix API
Добавляем пункт меню для списков в админке Битрикс
Диалоговые окна в Bitrix API
Создание инфоблока при установке модуля
Создание копии корзины из заказа на Bitrix D7

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Комментарии
  • Загрузка...
Друзья сайта