Настройка отправки почты в Битриксе через SMTP протокол
При отправке писем штатными средства Битрикс, через стандартный PHP механизм — функцию mail(), часто возникают проблемы, такие как попадаение писем в спам или вовсе почта не отправляется. Отправка писем через SMTP поможет решить эту проблему.
Преимущества отправки почты через SMTP
SMTP (англ. Simple Mail Transfer Protocol) – это протокол передачи почты. Он обеспечивает простую передачу почтовых отправлений. Его основная задача — отправка и контроль исходящих сообщений.
Преимущества использования SMTP-сервера:
- Отправка большого количества сообщений без ограничений виртуального хостинга;
- Безопасная передача сообщений с большей вероятностью их попадания в папку «Входящие», вместо «Спам»;
- Фильтрация сообщений на вероятность наличия вирусов или спама;
- Повышенная безопасность за счет авторизации пользователя, использующего SMTP-сервер.
Подключение и настройка SMTP в Битриксе
По-умолчанию, Битрикс не поддерживаем SMTP протокол. Для работы с ним необходимо установить соответствующий SMTP модуль из Маркетплейса.
Есть четыре бесплатных модуля SMTP и два платных. По отзывам из бесплатных наиболее устойчивый и работоспособный — модуль SMTP от студии ВебПростор.
Установка модуля «Отправка почты через SMTP»
Для установки модуля SMTP требуется наличие модуля «Ядро для модулей» (будет предложено добавить в процессе установки) и не должно быть ошибок при работе с сокетами (Настройки/Инструменты/Проверка системы).
Настройка модуля «Отправка почты через SMTP»
Модуль гарантированно взаимодействует с сервисами:
smtp.yandex.ru — для Яндекс.Почта,
smtp.gmail.com — для Gmail
smtp.mail.ru — для Mail.ru
Укажите соединения для выбранного сервиса в настройках SMTP:
Укажите настройки для авторизации, если требуется:
Также вы можете указать настройки для ручной отправки писем:
Не забудьте включить модуль на вкладке «Общие настройки»:
Вы можете указать настройки для автоматического создания или удаления файла init.php для сайтов.
Для диагностирования возникающих проблем или отслеживания логов операций, можете включить логирование и указать дополнительные настройки.
Логи следует периодически очищать, чтобы не перегружать таблицу. По достижении 1000 записей в логах, система выдаст уведомление о необходимости очистки таблицы.
Проверка отправки писем через модуль «Отправка почты через SMTP»
Перед включением модуля, обязательно проверьте отправку писем вручную.
Если есть ошибки, система уведомит об этом:
Ошибки можно посмотреть в журнале операций, если активированы соответствующие настройки:
Также обязательно проверьте автоматическое отправление писем. Например, путем оповещения своей учетной записи в карточке пользователя.
База знаний
Если вы хотите изменить текст в почтовом шаблоне формы «Задать вопрос», то необходимо найти его в списке. Список доступен по пути: Настройки → Настройки продукта → Почтовые события → Почтовые шаблоны. Название почтового события соответствует теме.
Чтобы внести изменения в существующие шаблоны, в поле с названием нажмите на «Гамбургер», затем кнопку «Изменить».
В параметрах почтового шаблона вы можете выбрать от кого (1) и кому (2) будут приходить уведомления, задать тему (3) и описание письма (4).
Ниже под блоком описания указана расшифровка тегов, которые можно использовать в теле и полях письма. Информация в теги подгружается автоматически, это экономит время при заполнении шаблонов.
#DEFAULT_EMAIL_FROM# — этот адрес подгружается из настроек сайта. Чтобы его изменить перейдите в Настройки → Настройки продукта → Сайты → Список сайтов → Ваш сайт. Измените email в соответствующем поле.
Если поле не заполнено, то email погружается из настроек главного модуля.
Если вы хотите создать новый почтовый шаблон, то в списке нажмите на «Добавить шаблон».
Выберите тип почтового события.
Заполните поля «От кого» и «Кому» почтовыми адресами, на которые должны приходить уведомления. Можно использовать специальные теги, расшифровка которых прописана под описанием.
Пропишите текст (2) сообщения и тему (1). Затем сохраните изменения.
Как настроить отправку почты с сайта на 1с-Битрикс
Приветствую друзья! Сегодня мы с вами рассмотрим, как настроить почтовые уведомления на сайте 1с-битрикс.
Итак, первое, что мы делаем — это традиционно переходим в панель управления сайтом, в админку, далее мы с вами переходим в раздел настройки и здесь открываем подпункт «настройки продукта». Далее переходим в подраздел «сайты» и смотрим список сайтов, открываем. Здесь нажимаем наводим курсор на три черточки и нажимаем кнопочку изменить.
В открывшемся окне чуть-чуть подматываем вниз и смотрим здесь строку, email адрес по умолчанию в разделе «параметры». Сюда вставляем заранее заготовленный email адрес. Нажимаем сохранить. Отлично! Первый шаг сделали.
Далее, здесь же переходим в подпункт «настройки модулей», и нажимаем «главный модуль». Здесь у нас с вами есть вкладка почта и СМС. Нажимаем сюда, вводим наш email, вводим наш email сюда, в принципе этого достаточно. То есть, двух полей достаточно.
Тут есть один нюанс, здесь вы можете указать второй еmail, то есть допустим, если вы хотите, чтобы у вас почтовые сообщения сайта дублировались на еще какой-то почтовый ящик; ставите запятую и вписываете какой-нибудь еще другой email, можно два, можно три и так далее. Но мне это сейчас не нужно, я оставлю так как есть.
Итак, мы с вами ввели адреса почтовых ящиков, нажимаем «применить». Для сайтов, которые не являются интернет-магазинами, это в общем то всё. Если ваш сайт нормально собран, то со всех форм обратной связи, в том числе «оформить заказ через корзину» или оформить «быстрый заказ» через «покупку в один клик», если есть эта опция, будут приходить письма.
Теперь, если у вас интернет магазин на 1с-Битрикс, вот как в нашем текущем случае, здесь есть еще одно место, куда можно добавить адрес своей почты. То есть здесь мы также с вами открываем настройки модулей и выбираем пункт «интернет магазин». Здесь есть поле, видите здесь тоже стоит старый e-mail, вот мы ставим с вами сюда новый e-mail отдела продаж и нажимаем «сохранить». Все, в админке, где можно, мы с вами везде e-mail и поменяли.
Если почта не приходит?
Теперь, что делать, если, например, вы все сделали вот по инструкции, а почта вам все равно не приходит. Тут уже может быть несколько причин. Одна из которых это, например, когда хостинг не понимает популярные почтовые сервера, mail.ru, yandex.ru, gmail.com и так далее.
В таком случае рекомендую создать себе почтовый ящик на вашем домене, на том хостинге, где у вас расположен сайт. В панели администрации хостинга, как правило, есть эти настройки, вот например, у нас сайт расположен на хостинге «Бегет», и в панели управления хостингом здесь есть такой пункт «почта».
Если мы на него перейдем и выберем наш домен, то здесь можно создать нужный вам почтовый ящик или несколько почтовых ящиков. Таким образом у вас будет «фирменный» почтовый ящик, например, info@вашдомен.ru. И после создания этого почтового ящика, вы, также проводите всю эту операцию о которой мы говорили выше, то есть вписываете новый почтовый ящик на сайте, где я показал ранее и проверяете, приходит ли вам почта.
Проверка системы
Если почта не приходит, тогда в этом же разделе «настройки», есть подраздел «инструменты» и есть раздел «проверка системы». Мы с вами переходим в него, и нажимаем кнопочку начать тестирование и ждем, когда у нас вот эта линия дойдет до конца.
Здесь в графе дополнительные функции, здесь есть «отправка почты», в нашем случае все успешно, и в вашем случае должно быть также успешно. Если там не успешно, это уже техническая какая-то проблема.
Далее, если у вас везде все успешно, почту вы на своем домене прописали, и тем не менее почта не приходит. Тогда, как вариант, вы можете обратиться к разработчикам вашего шаблона, в нашем случае это шаблон готового интернет магазина «АСПРО максимум», но здесь практически никогда не возникает таких проблем, но на других шаблонах такое вполне может быть да. Тогда вы просто пишете письмо создателям, разработчикам данного шаблона. Конечно же, при условии, если у вас лицензионный шаблон и лицензионный 1с битрикс, и вы не купили его где-то на просторах интернета за три копейки какую-нибудь не лицензионную версию. Если у вас «все по взрослому» в таком случае разработчик поможет вам решить этот вопрос.
Если же такой возможности у вас нет, то есть ещё один способ. Но данный способ вам подойдет опять же в том случае, если у вас лицензия, то есть у вас 1с битрикс, неважно какая редакция это: старт, стандарт, малый бизнес или бизнес — они лицензионные, и лицензия у вас активная. Тогда это дает вам возможность устанавливать в вашу систему на ваш сайт дополнительные модули, в том числе и модули отправки почты. Зачастую они очень хорошо помогают справиться с подобного рода задачами.
Установка дополнительных модулей
Для этого мы с вами сначала переходим в раздел «marketplace», далее «каталог решений», и здесь в поиске пишем «smtp» теперь нажимаем enter, у нас появляется поисковая выдача. Здесь у нас есть на выбор несколько модулей, есть платные, а есть и бесплатные.
Для начала можете попробовать воспользоваться бесплатными, допустим «отправка почты через smtp», или каким-то другим, бесплатных не так и много, но хоть один я думаю вам подойдет. Нажимаете кнопочку «установить», я этого сейчас делать не буду, мне это не нужно, у нас на сайте все прекрасно работает и без сторонних модулей, но вам может пригодиться. И так, нажимаете кнопочку установить, далее следуйте инструкции, установка достаточно простая. После чего переходите в настройки этого модуля, скорее всего, он у вас будет находиться здесь где-то, то есть настройки продукта, настройки модулей и вот где-то здесь, в этом списке, будет один из тех модулей, который вы установите.
В настройках укажите почту, укажите пароль, может там что-то еще будет, и проверить отправку почты, часто это очень помогает решить проблему с отправкой почты.
Настройка отправки почты через SMTP Mail.Ru или Яндекс Почту в БитриксВМ
Знали бы вы как часто мне пишут люди с просьбой решить проблему с отправкой почты на Битрикс сайтах. Наверно раза 4 в месяц стабильно появляются клиентами с подобной разовой работой. Каждый сайт по сути уникальный и мне немного надоело решать однотипные задачи и я решил написать инструкцию к тому, как решить проблему с отправкой почтовых сообщений используя сторонний SMTP сервер.
Для начала необходимо понять из-за чего или что стало причиной того, что письма не отправляются. Хоть я и не очень люблю Битрикс и 1С в целом — но скажу уверенно эта CMS хорошая и работать из коробки она должна замечательно.
Начнём с первоначальной установки необходимых параметров, чтобы виртуальная машина понимала что от неё хотят. Первым делом подключаемся к нашему серверу используя программу Putty (можете использовать другую). Вводим логин, пароль от root пользователя (это обязательно) от сервера и вот он интерфейс БитриксВМ.
Выбираем раздел 6 пункт — Manage sites in the pool, а затем 4 пункт — Change a site’s email settings.
Тут мы видим список сайтов, указываем тот у которого есть проблемы (достаточно ввести default) и смотрим его настройки:
Для SMTP от Mail.Ru необходимые настройки такие:
Enter site name (default) or 0 to exit: mysite.ru
Email address is configured for the site mysite.ru
Email address : [email protected]
SMTP server : smtp.mail.ru
SMTP port : 465
SMTP login : [email protected]
TLS status : on
Для SMTP от Яндекса необходимые настройки такие:
Enter site name (default) or 0 to exit: mysite.ru
Email address is configured for the site mysite.ru
Email address : [email protected]
SMTP server : smtp.yandex.ru
SMTP port : 465
SMTP login : [email protected]
TLS status : on
Далее по инструкции я буду использовать SMTP от MAIL.RU в качестве примера. Чтобы отправка почты заработала для Яндекса необходимо вместо mail написать yandex
Подтверждаем что хотим внести изменения в настройках и нажимаем клавишу Y, замет подтверждаем клавишей ENTER:
Вводим почтовый адрес, с которого будут отправляться письма (указываете свой почтовый адрес созданный заранее например в biz.mail.ru):
Вводим адрес SMTP сервера от MAIL.RU
Далее указываем рекомендуемый порт:
И укажем наличие подтверждения наличия аутентификации
Далее вводим логин и пароль от почтового ящик (должен совпадать, в моём примере [email protected])
Потом выберем и подтвердим использование шифрования (можно пробовать plain или оставить auto):
И казалось бы всё, конец настройки, но к сожалению это еще только половина пути. На сервере заходим по адресу:
home/bitrix/msmtp_default.log
И читаем лог с ошибками. Примерно в 90% случаев у вас в последних записях будет нечто подобное:
errormsg='the server sent an empty reply' exitcode=EX_PROTOCOL
Даже не ищите решение проблемы на тематических форумах. Поверьте, просто продолжайте следовать моей инструкции. Исправляем ошибку путём редактирования файла, который находится по следующему адресу:
/home/bitrix/.msmtprc
Необходимо сделать некоторое изменение конфига в этом файле, а именно вместо tls_starttls on нужно было поставить tls_starttls off. Если этого пункта нет, то необходимо добавить.
По идее можно было бы на этом закончить, ребутните сервер, чтобы новые настройки точно применились, но тут кроется небольшая проблема, так как при отправки почты с сайта может появится новая ошибка:
Message was not accepted — it contains invalid headers. More specially, ?From:? header must match user you are sending mail from. See http://help.mail.ru/mail-help/mailer/popsmtp for details.' errormsg='the server did not accept the mail' exitcode=EX_UNAVAILABLE
Или похожая. Но решение этой проблемы очень простое. Заходим на сайт и переходим в раздел администрирования. Далее по менюшкам и вкладкам: Настройки — Настройки модулей — Главный модуль — Вкладка "Почта и СМС" и в поле E-mail администратора нужно было добавить точно такой же e-mail адрес, что мы указывали ранее в настройках БитриксВМ (у меня в примере [email protected]).
Вот такая вот инструкция по настройки почтовых отправлений с сервера и сайта для коробочной версии Битрикс. Надеюсь вам она была полезна, а если не смогли самостоятельно разобраться или боитесь что наломаете ещё больших дров, тогда звоните или пишите мне. О цене договоримся!