- Проблема с отправкой писем в Битрикс
- Проверить отправляются ли письма
- Список отправленных писем
- Не приходят на почту уведомления о заполнении веб-форм
- Установка и настройка почты на VM Bitrix. Почтовый сервис Postfix
- Installing and configuring mail on VM Bitrix. Postfix mail service
- В этом руководстве рассмотрим вариант настройки почты Postfix для Битрикс на примере операционной системы CentOS 7 (для других ОС команды и пути могут отличаться).
- Прежде чем приступить
- Установка Postfix
- Если отправка не работает, и письма не приходят на почту?
- отправка почты
- Настройка почты BitrixVM на локальном сервере
Проблема с отправкой писем в Битрикс
Приветствую читателей thisis-blog.ru!
В сегодняшней статье хочу рассказать об основных проблемах с почтой в CMS 1с-Битрикс.
Порой до адресата не доходят письма и нужно понять, а отправляются ли они вообще? А может они были отправлены, но возникли, какие-то другие ошибки. Так что же делать в таких ситуациях?
Проверить отправляются ли письма
Для проверки достаточно на любой страничке написать следующий php код:
Либо использовать для отправки письма функцию bitrix CEvent::Send.
Если письмо не пришло, можно обращаться в тех. поддержку хостера.
Список отправленных писем
В битриксе нет как такого инструмента, который бы показывал сработавшие почтовые шаблоны и соответствующие отправленные письма. Но всё таки существует обходной путь, как просмотреть их.
Для этого нужно зайти в Админку Битрикс, далее Настройки -> Инструменты -> SQL-запрос. Ввести следующий sql код:
Вместо %form% нужно указать конкретный тип почтового события например так, чтобы посмотреть отправленные письма о новых заказах:
Либо можете вообще убрать вторую строку. В результате получите таблицу всех сработавших событий. Нас интересует колонка SUCCESS_EXEC.
‘Y’ — означает успешная отправка;
‘N’ или 0 — письмо не отправлено;
‘F’ — ошибка
Если найденные записи имеют значение ‘Y’ — это означает, что они отправлены и проблем быть не должно.
Но у нас всё плохо, значит обращаемся в тех. поддержку хостинга.
Если ‘N’ или 0- письма по какой-то причине не ушли.
Может помочь такое решение:
перейдите по пути: /bitrix/php_interface/dbconn.php
Закомментируйте или удалите следующие строки:
Попробуйте протестировать снова. Если после этого SUCCESS_EXEC также имеет значение ‘N’, то перейдите в /bitrix/managed_cache/ . Удалите содержимое через модуль управления структурой( не в коем случае не используйте FTP). Если вылезет ошибка, то не хватает доступа. Измените доступ к папкам и повторите снова.
Еще один способ — воспользоваться встроенными методами CMS Битрикс по диагностике.
- Проверка системы — /bitrix/admin/site_checker.php
- Монитор качества — /bitrix/admin/checklist.php
Ошибки, найденные в процессе диагностики, могут являються причиной вашей проблемы.
Возможная ошибка — почтовый сервер не поддерживает формат письма. Попробуйте изменить настройки отправки.
- Убрать BBC
- Убрать дублирование email в заголовке
- Установить Конвертировать 8-битные заголовки
Если ничего не помогло, попробуйте запросить у хостера логи почтового сервера.
Хочу рассмотреть частный случай:
Не приходят на почту уведомления о заполнении веб-форм
Шаги решения проблемы:
- Переходим в админ панель: Настройки -> Настройки продукта ->Настройки модулей -> Веб-формы. Отключаем флажок «использовать упрощенный режим». Переходим к настройкам компонента веб-форм на сайте. Вкладка дополнительно. Должен присутствовать флажок активирующий привязку к почтовому шаблону.
- Переходим: Панель управления -> Настройки -> Настройки продукта -> Почтовые события. Находим почтовый шаблон для веб-формы. Проверяем правильность данных:
- Шаблон должен быть активен;
- Привязан к одному из сайтов(если многосайтовость);
- От кого: #DEFAULT_EMAIL_FROM#;
- Кому: #DEFAULT_EMAIL_FROM#».
Спасибо за внимание, также читайте статью про то, как Добавить поле в почтовый шаблон.
Источник
Установка и настройка почты на VM Bitrix. Почтовый сервис Postfix
Installing and configuring mail on VM Bitrix. Postfix mail service
В этом руководстве рассмотрим вариант настройки почты Postfix для Битрикс на примере операционной системы CentOS 7 (для других ОС команды и пути могут отличаться).
Прежде чем приступить
Подключаемся к серверу по SSH и попадаем в меню Bitrix-окружения. Для начала нужно выйти из меню, набрав 0 для выхода.
Если в системе ранее был установлен sendmail, тогда его необходимо удалить:
Установка Postfix
Установите postfix:
Добавим postfix в автозагрузку
Запустите postfix:
теперь необходимо войти в консольное меню VMBitrix,
# /root/menu.sh
Выбираем п.6 и затем п. 4
Первым делом набираем название сайта из списка в консоли выше, к которому создаем файл настроек для отправки почты, к примеру baks.dev. В консоли появяться последовательно вопросы и в круглых скобках подсказки в кним с значениями по умолчанию. Если оставить поле не заполненым и нажать Enter, то в файл настроек запишуться те самые данные по умолчанию. Так как мы настраиваем отправку почты с помощью почтового сервера Postfix, то принимаем все занчения по умолчанию.
Затем потребует заполнит email, который будет использоваться по умолчанию, например noreply@baks.dev
Указываем локальный адрес сервера 127.0.0.1 и порт 25, либо просто жмем Enter на двух следующих пунктах
Разрешаем отправку почты без авторизации, заполнив N и жмем Enter
также отключаем TLS , заполнив n и жмем Enter
Если ошибок не выявлено, тогда вы должны получить уведомление
Configure email for the site baks.dev
В результате будет создан файл /home/bitrix/.msmtprc, в котором будут указаны внесённые настройки:
На этом мы завершили настройку сервера отправки почты.
Проверьте работу спомощью командной стрки: переходим в панели администрирования в Настройки — Инструменты — Командная PHP-строка, втсавляем код и выполняем
Если отправка не работает, и письма не приходят на почту?
1. Проверьте, пожалуйста, настройки почтового события заполнения формы и его шаблона.
Откройте Панель управления — Настройки — Настройки продукта — Почтовые события; выберите событие.
На первой закладке, должны стоять галочки возле используемых на Вашем сайте кодов языка. На закладке «шаблоны» должна стоять галочка возле имени Вашего сайта, хотя бы у одного шаблона (обычно он там как раз один). Также, в настройках выбранного почтового шаблона (можно перейти прямо по ссылке со страницы «шаблоны», не забудьте только перед этим нажать «применить», если были сделаны какие-то настройки), должна стоять галочка «активен», и также должен быть выбран Ваш сайт. Также должны быть корректно заполнены поля «от кого» и «кому» (значения по-умолчанию #DEFAULT_EMAIL_FROM# и #EMAIL#, соответственно).
2. Если все эти настройки соответствуют истине, то в настройках модуля веб-формы отключите флаг «использовать упрощенный режим», перейдите в настройки соответсвующей формы, вкладка дополнительно, убедитесь, что флаг привязки к почтовому шаблону проставлен. Если и здесь все в порядке, то перейдите, пожалуйста, в Настройки-Инструменты-SQL-запрос и выполните такой запрос:
Найдите событие заполнения формы, смотрите в поле SUCCESS_EXEC:
стоит Y — письмо из продукта ушло, дальнейшую его судьбу попросите отследить администратора хостинга
стоит N — зайдите в файл /bitrix/php_interface/dbconn.php и проверьте не определены ли у Вас константы
BX_CRONTAB и BX_CRONTAB_SUPPORT, если да — убрать их определение вообще из этого файла. Если после этого SUCCESS_EXEC также N, то необходимо перейти в папку /bitrix/managed_cache/ и попытаться удалить содержимое (обязательно через модуль управления структурой, а не через FTP), если получите ошибку — значит необходимо исправить проблему с доступом продукта к папкам, чтобы Вы могли удалить файлы и папки из кеша.
стоит F — функция mail() по какой-то причине вернула False при отправке. Наиболее типичные проблемы: 1. Не настроена функция mail() на хостинге. Решается с хостером.
3. Почтовый сервер не поддерживает формат письма. Пробовать изменять настройки отправки, убирать поле ВСС, убирать галочку «Дублировать email адрес в заголовке», ставить «Конвертировать 8-битные заголовки». Не помогает — запросить логи у администратора почтового сервера, чтобы посмотреть, в чем конкретно ошибка при отправке.
Стоит 0 (ноль) — значит, что-то неверно в настройках из пп.1-2 — проверьте еще раз.
Источник
отправка почты
Я зла не помню, но и добро не забываю.
Есть информация в FAQ как проверить:
После этого посмотреть лог в home пользователя, под которым запускается процесс apache в файле .msmtp.log
Было в блоге у кого-то на сайте, но сейчас этот блог закрыт.
Нужно сделать символическую ссылку в папке root на файл /home/bitrix/.msmtprc
У самого только после этого почта стала работать.
Я зла не помню, но и добро не забываю.
| Цитата |
|---|
| Анатолий Зайчёнок пишет: Нужно сделать символическую ссылку в папке root на файл /home/bitrix/.msmtprc |
Я зла не помню, но и добро не забываю.
Прежде чем это делать необходимо посмотреть лог, как я писал выше. Если вы запускали из стартового меню настройку почты, то должен был создаться файл конфигурации и файл лога. В него пишутся все ошибки.
У меня и без всяких симлинков работает. Тут важно правильно настроить на свой почтовый сервер, я например долго мучался с ssl авторизацией, но потом смог скомбинировать параметры.
сделал — заработало. и лог заодно посмотрел, в нем нашел ошибку — требовалась авторизация, добавил — пашет .
тестовое отправил сразу же, теперь жду когда все остальные свалятся . можно ли принудительно запустить все то что не свалилось пока почта не работало ? или уже поздно .
Я зла не помню, но и добро не забываю.
Нет, к сожалению, без прямого вмешательства в БД это сделать нельзя. А в нее лучше не лезть
| Цитата |
|---|
| Иван пишет: в файле .msmtprc вот такая ошибка |
подскажите что ему надо? авторизацию в настройках указал, в компании используется прокси сервер для выхода в инет он блокировать не может?
Сам столкнулся с этой проблемой, нашел решение, может кому пригодится:
Необходимо в файле .msmtprc строку
auth on
заменить на
auth login
НА самом деле чуть сложнее ситуация, но мне тоже помог параметр auth login
Параметр auth определят тип авторизации и значения могут быть разные, не только on или login. В зависимости от его значения нужно указывать и другие параметры. Все зависит от конкретного почтового сервера к которому подключаемся.
У меня ситуация такая же, не так давно как вчера развернул на вертуалке копию нашего корп. портала, сейчас пытаюсь настроить почтовые уведомления, проблема осложняется тем что у нас в конторе отдельный exchange 2007 сервер)
P.S. Я вот детально не копался в настройках ubuntu server)) Но при запуске миднайт командера становится весело, Коллеги помогите справиться? скрин прилагаю
| Цитата |
|---|
| Борис Николаев пишет: у нас в конторе отдельный exchange 2007 сервер) |
Битрикс установлен на собственном сервере на работе. Сис админ. не силен в ВЕБ-е
помогите пожалуйста с настройками SMTP.
Сервер IIS.
где что?
все под Unix.
пожалуйста. Нужен Хелп!
| Цитата |
|---|
| Абзал Онгарбаев пишет: Добрый день всем. |
Проблема с отправкой почты.
Битрикс установлен на собственном сервере на работе. Сис админ. не силен в ВЕБ-е
Источник
Настройка почты BitrixVM на локальном сервере
Есть локальный сервер с установленной 1С Битрикс Виртуальной машиной и Корпоративным порталом, при проверке портала и конфигурации возникают ошибки с тестированием почтовых отправлений и уведомлений. В остальном все в порядке.
В настройках модуля «Почта» сервер SMTP работает.
При тестировании через командную строку PHP проверку не проходит
В чем может быть проблема? И какие настройки нужно устанавливать в VMware и в Корпоративном портале?
| Цитата |
|---|
| Алексей Шафранский написал: Vladimir Kochnev , вечер добрый В курсе все есть, прошу ознакомится https://dev.1c-bitrix.ru/learning/course/?COURSE_ID=48&LESSON_ID=8853&LESSON_PATH=39. Все как обычно: емайл, адрес почтового сервера, порт, логин и пароль для авторизаций, tls и т.д. Настройки модуля Почта не нужны в этом случае. Как настроите вирт. машину — проверка сайта поменяет свое мнение о почте) |
Спасибо! Попробовал различными способами, но так ничего и не вышло, если указываю в качестве сервера SMTP 127.0.0.1 или локальный адрес сервера при проверке та же ошибка. Если пытаюсь подключить внешний SMTP сервер от яндекса или мэйла, при проверке сервер зависает (приходится перезагружать). Может я что-то неправильно указываю?
Что я пробовал в настройке в VMware:
From email: admin@example.com
SMTP server: 192.168.1.105
SMTP port: 25
SMTP user:
TSL status: on
From email: admin@example.com
SMTP server: 127.0.0.1
SMTP port: 25
SMTP user:
TSL status: on
Результат проверки по этим двум попыткам такой же
From email: admin@example.com
SMTP server: smtp.yandex.ru
SMTP port: 465
SMTP user: user_yandex
SMTP password: ******
TSL status: on
From email: admin@example.com
SMTP server: smtp.mail.ru
SMTP port: 465
SMTP user: user_mail
SMTP password: ******
TSL status: on
Если использую сторонний сервер при проверке происходит зависание.
| Цитата |
|---|
| Vladimir Kochnev написал: Попробовал различными способами |
| Цитата |
|---|
| Vladimir Kochnev написал: Попробовал различными способами |
| Цитата |
|---|
| Vladimir Kochnev написал: уведомлений и сообщений |
Andrey Churashev, например проверить емайл шаблон магазина (sale) или шаблоны рассылок (sender) в разных мейлерах или программах. Задача «для чего» не указана.
| Цитата |
|---|
| Vladimir Kochnev написал: From email: admin@example.com SMTP server: 127.0.0.1 SMTP port: 25 SMTP user: TSL status: on |
У вас на локалхосте на порту 25 поднят smtp сервер да еще с tls для ящиков вида ***@example.com?
Если действительно хотите потестировать почту, то настройте правильно и используйте существующие валидные емайлы, пример для yandex:
| Цитата |
|---|
| Vladimir Kochnev написал: From email: admin@example.com SMTP server: smtp.yandex.ru SMTP port: 465 SMTP user: user_yandex SMTP password: ****** TSL status: on |
From — myemail@yandex.ru
SMTP Server — smtp.yandex.ru
SMTP Port — 25
SMTP User — myemail@yandex.ru
SMTP Password — mypassword
TLS — On
Где myemail@yandex.ru ваш валидный существующий емайл.
После настройки вирт. машины в БУСе в настройках модулей прописать этот же емайл ( myemail@yandex.ru ) — main, sale, sender, forum и т.д.
А отправлять письма уже на другие ящики, например, регистрация пользователя с емайлом iamuser@yandex.ru или оформление заказа в магазине, рассылки и т.д.
Для mail.ru и прочих все по аналогии
| Цитата |
|---|
| Алексей Шафранский написал: Andrey Churashev , например проверить емайл шаблон магазина (sale) или шаблоны рассылок (sender) в разных мейлерах или программах. Задача «для чего» не указана. |
| Цитата |
|---|
| Vladimir Kochnev написал: From email: admin@example.com SMTP server: 127.0.0.1 SMTP port: 25 SMTP user: TSL status: on |
У вас на локалхосте на порту 25 поднят smtp сервер да еще с tls для ящиков вида ***@example.com?
Если действительно хотите потестировать почту, то настройте правильно и используйте существующие валидные емайлы, пример для yandex:
| Цитата |
|---|
| Vladimir Kochnev написал: From email: admin@example.com SMTP server: smtp.yandex.ru SMTP port: 465 SMTP user: user_yandex SMTP password: ****** TSL status: on |
From — myemail@yandex.ru
SMTP Server — smtp.yandex.ru
SMTP Port — 25
SMTP User — myemail@yandex.ru
SMTP Password — mypassword
TLS — On
Где myemail@yandex.ru ваш валидный существующий емайл.
После настройки вирт. машины в БУСе в настройках модулей прописать этот же емайл ( myemail@yandex.ru ) — main, sale, sender, forum и т.д.
А отправлять письма уже на другие ящики, например, регистрация пользователя с емайлом iamuser@yandex.ru или оформление заказа в магазине, рассылки и т.д.
Для mail.ru и прочих все по аналогии
Спасибо за помощь! Но так я и не смог настроить отправку почты.
В настройках виртуальной машины прописал следующее:
From — myemail@yandex.ru (действующий логин от почты на яндексе)
SMTP Server — smtp.yandex.ru
SMTP Port — 25
SMTP authorization: Y
SMTP User — myemail@yandex.ru (действующий логин от почты на яндексе)
SMTP Password — mypassword (действующий пароль от почты на яндексе)
TLS — Y
Прописал myemail@yandex.ru в настройках модулей.
При такой настройке при проверке портала возникают все те же ошибки.
В таком случае как я и писал выше, виртуалка зависает.
Пока не понимаю в чем может быть проблема.
| Цитата |
|---|
| baltika написал: при tls используйте порт 465 |
587 порт попробовал результат тот же.
Я так понял настройки почты не обязательно делать через консоль виртуальной машины, можно также это сделать и через пользовательский раздел портала в настройках.
Пока вопрос остается открытым.
| Цитата |
|---|
| Алексей Шафранский написал: Почему вопрос то открыт? |
Потому, что почта так и не работает, тест проверки портала и конфигурации с ошибками.
Ещё раз попробую описать ситуацию, может я чего не понимаю:
Есть локальный компьютер с VMware за маршрутизатором c доступом в интернет и статичным IP, на маршрутизаторе проброшены порты (80, 25, 110, 8895, 8893, 8894, 9306, 5223, 8090, 8890, 3306, 465, 993, 995, 587) на локальный компьютер с VMware.
Доступ к серверу осуществляется через хостинг с доменом mydomain.ru с перенаправлением на статичный IP адрес маршрутизатора и т.д. до сервера VMware. На сервере установлена и настроена Виртуальная машина Битрикс 7.1. При проверке портала возникают ошибки с отправкой почты. Вроде все, остальное описано в сообщениях 1, 3 и 8.
Возможно проблемы из-за мудреной схемы подключения, хотя портал в остальном работает отлично и продолжает радовать!
Буду благодарен за любую помощь в решении данной проблемы, хоть портал и работает хорошо, но функционал почты был бы не лишним.
Разобрались с Vladimir Kochnev, проблема была в настройке почты в виртуальной машине, когда используется mail.ru.
Оставлю пример настройки для mail.ru ящиков, возможно еще кому-то пригодится:
From — myemail@mail.ru (действующий логин от почты на mail.ru)
SMTP Server — smtp.mail.ru
SMTP Port — 25 (важно!)
SMTP Authentication — Y (использовать ли smtp авторизацию — да)
SMTP User — myemail@mail.ru
SMTP Password — пароль от почты на mail.ru
SMTP Authentication method — plain (важно! в машине по дефолту стоит auto, сам mail.ru хочет обычный https://help.mail.ru/mail-help/mailer/popsmtp )
TLS — Y
После письма приходят и в логах все хорошо:
Источник