Настройка почты centos 7 bitrix

Обновлено: 04.07.2024

1С-Битрикс: Веб-окружение позволяет развернуть окружение для работы продуктов 1С-Битрикс: Управление сайтом и Битрикс24 на Linux-платформе CentOS 7. В состав включены и преднастроены:

  • mysql-server 5.*
  • web-server (Apache 2.2.*)
  • php 5.6/7.1.х
  • nginx 1.6.1
  • memcached
  • stunnel
  • catdoc
  • xpdf
  • munin
  • nagios
  • sphinx

Установка

Для установки потребуется сервер с чистой установленной CentOS 7.

Примечание: Здесь и далее все команды должны выполняться под root.

Если вход под root отключен, залогинетесь под своей учетной записью, а затем перейдите под root.

Убедитесь, что находитесь в своей домашней директории:

Должны находиться в директории /root. Если нет перейдите в нее:

Затем скачайте скрипт установки, сделайте исполняемым, и запустите его:

Примечание: Если на сервере нет утилиты загрузки файлов wget, установите ее:

Примечание: Если при запуске скрипта получили предупреждение.


Согласитесь отключить SELinux, выбрав Y, после чего перезагрузите сервер и повторно запустите скрипт установки.

Когда установка закончится (5-10 минут), перезагрузите сервер:

При первом входе на сервер под root будет предложено сменить пароль пользователя bitrix. Если этого не произошло, запустите скрипт:

Установите пароль пользователя bitrix.

Далее будет предложено создать пул серверов. В меню BitrixEnv выберите Create Management pool of server, а затем укажите имя пула.


Мастер создания пула откроет необходимые порты в CentOS для корректной работы продуктов 1С-Битрикс. Когда пул будет создан, появиться интерактивное меню для взаимодействия с BitrixEnv.


Для выполнения команд, в меню BitrixEnv необходимо ввести число и нажать Enter. Чтобы выйти из BitrixEnv в консоль CentOS нажмите 0. Чтобы вернуться из командной строки (если нажали 0. Exit или Ctrl+C) обратно в меню BitrixEnv, введите в консоли команду:

Примечание: Чтобы проверить, какие порты открыты на сервере, нужно выйти из BitrixEnv в консоль CentOS и выполнить:

Если вызвать команду без прав root, не будет видно процессов, которые слушают порты. Примерный список портов:

Примечание: При необходимости, откройте дополнительные порты и перезагрузите iptables:

Первоначальная настройка

Залогиньтесь в BitrixEnv.

Обновите серверные библиотеки до последних версий из меню веб-окружения: Configure localhost settings > Update server (аналог серверной команды yum update).

Проверьте обновления BitrixEnv Manage servers in the pool > Update packages on host.

Обновите (или для старых сайтов 1С-Битрикс понизьте) версии PHP и MySQL: Manage servers in the pool > Upgrade PHP and MySQL.

В настройках укажите таймзону: Manage servers in the pool > Configure pool timezone.

Убедитесь, что все команды были выполнены успешно Background pool tasks.

Перезагрузите сервер Configure localhost settings > Reboot server.

Добавление сайта

Предварительно настройте DNS-записи в на хостинге где размещены домены, записи должны соответствовать ip-адресу сервера.

В BitrixEnv запустите мастер добавления новго сайта Configure pool sites > Create site.

Укажите адрес сайта, тип kernel и другие данные по своему усмотрению .

Спустя некоторое время сайт будет добавлен.

Если записи для домена настроены, то при переходе по адресу сайта в браузере, откроется страница установки сайта 1С-Битрикс.


Теперь можно установить новый сайт или восстановить уже существующий из бэкапа.

Примечание: Следует отметить, что при установке BitrixEnv в директории /home/bitrix/www/ создается сайт по умолчанию. Этот сайт будет открываться при переходе по ip-адресу вашего сервера в браузере. В нем так же размещены скрипты установки 1С-Битрикс. Не стоит оставлять их без внимания. Например, можно удалить и загрузить сюда пустой индексный файл index.html и/или при необходимости с помощью .htaccess настроить редирект на нужный сайт. Пример файлов.

Может пригодиться:

Ссылка на загрузку скрипта для новой установки битрикс: bitrixsetup.php
Ссылка на загрузку скрипта для восстановления сайта из бекапа: restore.php

Настройка почты

Можно указать настройки почты для всех сайтов выбрав default или настроить почту для конкретного сайта выбрав его из списка.

Настройте почту для всех сайтов сервера, указав в Enter site name значение default.

Укажите почтовый адрес, Enter From email address.

Далее ведите DNS или IP-адреса почтового сервера Enter server address or DNS. Подтвердите нажатием Enter.

Укажите порт сервера Enter server port 25, 443 или иной используемый вашим почтовым сервером.

Выберите возможность авторизации на SMTP сервере Do you need auth options for. Если планируете использовать почту только для отправки уведомлений, нажмите N.

Укажите нужно ли использовать TLS Do you need TLS enabled for.

Подтвердите настройки нажатием Enter.

Настройки применены, посмотрите и при необходимости скорректируйте их в файле /home/bitrix/.msmtprc.

Пример настроек для корпоративного сервера Exchange

Пример настроек для Yandex почты

Важно: поле поле «From» («От кого») в настройках сайта Битрикс, не должно отличается от адреса пользователя, с данными которого производится авторизация на сервере.

Пример настроек для Google почты

Важно: поле поле «From» («От кого») в настройках сайта Битрикс, не должно отличается от адреса пользователя, с данными которого производится авторизация на сервере.

Из консоли сервера:

Если почта не отправляется

Полезные ссылки

Если что то не получается или возникли ошибки, возможно вам смогут помочь статьи:

На этом всё. Но вы можете поддержать проект. Даже небольшая сумма поможет нам писать больше полезных статей.

Если статья помогла или понравилась, пожалуйста поделитесь ей в соцсетях.

Installing and configuring mail on VM Bitrix. Postfix mail service

Установка и настройка почты на VM Bitrix. Почтовый сервис Postfix

Прежде чем приступить

Подключаемся к серверу по SSH и попадаем в меню Bitrix-окружения. Для начала нужно выйти из меню, набрав 0 для выхода.

Если в системе ранее был установлен sendmail, тогда его необходимо удалить:


Установка Postfix


Установите postfix:


Добавим postfix в автозагрузку

Запустите postfix:




Выбираем п.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. Проверьте, пожалуйста, настройки почтового события заполнения формы и его шаблона.

Откройте Панель управления - Настройки - Настройки продукта - Почтовые события; выберите событие.


2. Если все эти настройки соответствуют истине, то в настройках модуля веб-формы отключите флаг "использовать упрощенный режим", перейдите в настройки соответсвующей формы, вкладка дополнительно, убедитесь, что флаг привязки к почтовому шаблону проставлен. Если и здесь все в порядке, то перейдите, пожалуйста, в Настройки-Инструменты-SQL-запрос и выполните такой запрос:


Найдите событие заполнения формы, смотрите в поле SUCCESS_EXEC:


Стоит 0 (ноль) - значит, что-то неверно в настройках из пп.1-2 - проверьте еще раз.

Для начала работы достаточно иметь голую CentOS 7 с BitrixVM, установленной с помощью скрипта с офф сайта Bitrix.

Важно, что это работает и в случае отправки писем с CRM Bitrix 24.

Устанавливаем Postfix + TLS

Создаем сертификат и ключ

mkdir -p /etc/ssl/postfix/
openssl req -new -x509 -nodes -out /etc/ssl/postfix/tls.pem -keyout /etc/ssl/postfix/tls.pem -days 3650

В /etc/postfix/main.cf добавим:

smtp_use_tls = yes
smtpd_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtpd_tls_key_file = /etc/ssl/postfix/tls.pem
smtpd_tls_cert_file = $smtpd_tls_key_file
smtpd_tls_CAfile = $smtpd_tls_key_file
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom

Включаем автозагрузку и запускаем postfix:

Далее необходимо дать понять битриксу, как отправлять письма.

Настройка битрикс

Для этого запускаем их скрипт menu.sh

Главное меню скрипта menu.sh в bitrixVM

6. Manage sites in the pool

Меню 6. Manage sites in the pool в menu.sh BitrixVM

4. Change a site's email settings

Настраиваем отпавку почты:

Выбираем сайт. По умолчанию будет default. Далее сами настройки:

Настройка почты в menu.sh через локальный сервер. BitrixVM

Устанавливаем и настраиваем OpenDKIM

Приводим конфиг /etc/opendkim.conf к виду ниже.

Создаем /etc/default/opendkim и записываем в него:

В /etc/postfix/main.cf добавим:

milter_protocol = 2
milter_default_action = accept
smtpd_milters = inet:localhost:12301
non_smtpd_milters = inet:localhost:12301

Создаем ключи домена

Добавляем в /etc/opendkim/KeyTable

Добавляем в /etc/opendkim/SigningTable

Перезагрузим postfix и opendkim

Редактирование зоны домена

Рекомендую создать отдельный файлик и привести это к нормальному виду. Без лишних кавычек и пробелов.

v=DKIM1;k=rsa;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDCrRRqFGHKj36jHycdXPPg3ZhGdq1kjmMywEirNgCaVmkptgqEuMa081BZ21frvI8jNLCBf20GGZWQeq3PsSN0TFhqtlry8RUkikjFUBgrq1Y1oSE1uiGdcEvVFi2fcpON3lipulGrmcOARxmfB1L3uhBV/WtJwgTssWvlI8SQxwIDAQAB

Проверяем

Ждем обновления зоны домена (примерно 15 минут) и отправляем письмо с сервера.

По умолчанию, после развертывания коробки Битрикс24 отправка почты (или почтовых уведомлений) не работает или письма постоянно попадают в СПАМ. Мы рассмотрим комплекс мероприятий, которые помогут решить данную проблему полностью или в большей степени. Работать будем с системой на базе Linux.

Настройка отправителя и сервера отправки

Независимо от настроенного нами отправителя в веб-интерфейсе, битрикс будет отправлять письма с заголовком envelope-from, значением которого будет общий отправитель, настроенный в системе. Также нам нужно выбрать сервер, через который будет отправляться почта.

Для этого в стартовом меню битрикс (когда заходим под пользователем root) выбираем настройку Configure pool sites:

Available actions:
1. Manage servers in the pool
2. Configure localhost settings
3. Configure MySQL service for the pool
4. Configure Memcached service for the pool
5. Configure pool monitoring
6. Configure pool sites
7. Configure Sphinx service for the pool
8. Manage pool web servers
9. Configure Push/RTC service for the pool
10. Background pool tasks
0. Exit.

Enter your choice: 6

Enter your choice: 4

Выбираем сайт для настройки (если он один, то default):

Manage email settings
0. Previous screen or exit

Enter site name (default) or 0 to exit: default

Отвечаем на вопросы мастера. В нашем примере мы рассмотрим настройку отправки с локального сервера, поэтому задаем адрес 127.0.0.1. В поле From написать адрес общего отправителя. Также мы отказываемся от использования ЕДЫ и аутентификации. В итоге, мы получим что-то на подобие:

Наши настройки сохраняются в файле:

Открываем его, чтобы проверить или изменить данные.

Настройка сервера

Если на первом шаге мы выбрали отправку писем через локальный сервер, настроим его для корректного формирования и отправки писем. Будем использовать локальный MTA на базе Postfix.

Наш сервер должен иметь правильное имя — его можно задать командой:

* заданное имя должно разрешаться через DNS в IP-адрес нашего сервера.

Postfix может быть не установлен в нашей системе, поэтому сначала выполним его инсталляцию.

а) на сервере CentOS:

yum install postfix cyrus-sasl-plain

б) на сервере Ubuntu:

apt-get install postfix cyrus-imapd cyrus-clients cyrus-doc cyrus-admin sasl2-bin

После установки разрешаем автозапуск Postfix:

systemctl enable postfix --now

Открываем конфигурационный файл нашего mta:

Находим не закомментированную строку:

* значение для inet_interfaces может быть не только localhost.

. и меняем ее значение на:

* однако, если мы используем IPv6, то менять значение не нужно.

Задаем в качестве значения для myorigin наш домен, с которого будем отправлять письма:

* в данном примере мы задали лимит в 50 Мб.

После внесения настроек перезапускаем postfix для их применения:

systemctl restart postfix

Теперь создаем файл с настройками для PHP, который переопределяет некоторые настройки по умолчанию:

Добавляем строку с опцией sendmail_path

mail.add_x_header = Off
expose_php = Off
sendmail_path = /usr/sbin/sendmail -t -i

  • add_x_header — позволяет добавлять при отправке письма с помощью функции mail() заголовок X-PHP-Originating-Script;
  • expose_php — идентифицирует отправляемое письмо, что оно было сформировано с помощью PHP. Так как присутствие в письме данной информации может привести к негативной реакции со стороны антиспам систем, отключаем ее вывод.
  • sendmail_path — путь до исполняемого файла mta.

Перезапускаем веб-сервер обработки php:

Проверяем, что у нас в системе в качестве MTA по умолчанию выбран Postfix. Вводим команду:

update-alternatives --config mta

Если мы увидим, что у нас не используется postfix (напротив него должен быть +), то меняем значение:

В нашем примере, выбираем 2:

Enter to keep the current selection[+], or type selection number: 2

Настройка домена

Для того, чтобы письма проходили проверки на СПАМ, необходимо убедиться в корректной настройке DNS для нашего домена, от которого выполняется отправка.

A-запись

Ранее мы задавали имя серверу. На NS нам нужно добавить соответствующую запись типа А, например:

Определяет, с каких серверов можно отправлять почту для нашего домена.

v=spf1 +a +mx ip4:93.93.93.93 -all

* в данном примере мы разрешаем отправку с сервера с IP адресов домена, для сервера MX и с IP 93.93.93.93. Остальные письма должны восприниматься как нелегитимные.

Данная запись включает в себя ключ для дешифровки специального заголовка, отправляемого с письмом. Если проверяющая сторона сможет это сделать, значит письмо отправил владелец домена.

Для настройки DKIM необходимо установить соответствующие пакеты на сервер, настроить его и добавить записи в DNS.

DMARC

Определяет, что делать с письмами, которые не прошли проверку DKIM и SPF.

* данная политика укажет, что почту, которая не прошла проверку, необходимо поместить в карантин.

Это обратная запись для внешнего IP-адеса, на котором работает почтовый сервер. Она должна совпадать с именем, которым представляется почтовый сервер (как правило, это имя сервера или его hostname).

Прописывается у провайдера, который предоставляет Интернет (или поставщик МЗЫ)ю

Для домена должна быть определена MX-запись, которая указывает на адрес почтового сервера. В противном случае, к домену не будет доверия.

Настройка cron

Чтобы письма отправлялись, нужно, чтобы работал cron для битрикс24. Открываем конфигурационный файл:

Проверяем, чтобы была строка:

Открываем на редактирование crontab (для пользователя bitrix):

crontab -e -u bitrix

* * * * * /usr/bin/php -f /home/bitrix/www/bitrix/modules/main/tools/cron_events.php

* в данном примере мы запускаем на исполнение скрипт /home/bitrix/www/bitrix/modules/main/tools/cron_events.php каждую минуту.

Тестовая отправка письма из командной PHP-строки

Проверим, что мы настроили наш сервер для отправки корректно. Переходим в административную консоль Битрикс24 - Инструменты - Командная PHP-строка.

Подключение ящика

Для подключения к ящику заходим в битрикс 24 под пользователем. Слева переходим в Почта:

Переходим к работе с почтой в битрикс 24

Среди поставщиков услуг выбираем подходящий вариант или IMAP:

Переходим к настройкам IMAP

Заполняем поля для подключения (остальные галочки можно выставить по желанию):

Заполняем поля для подключения к почтовому ящику

* точные настройки необходимо уточнить у администратора почтового сервера. Также их можно посмотреть на странице инструкции соответствующего поставщика.

Отмечаем галочками папки для синхронизации:

Выбираем почтовые папки для синхронизации

Готово. Можно отправлять письма из битрикс.

Проверка и анализ

Существуют различные онлайн сервисы, где мы можем проверить корректность настройки нашего сервера и DNS:

2. Наличие почтового сервера в черных списках. Позволяет узнать, не был ли добавлен наш сервер в черные списки. Если сервер туда попал, то необходимо найти специальную страницу для удаления из блока и создать заявку онлайн.

3. Проверка репутации домена. Позволяет понять, правильно ли настроен наш домен.

Также, для решения проблем на самом сервере необходимо использовать лог почты. Его можно смотреть командой:

tail -f /var/log/maillog

С его помощью можно найти ошибки и понять, почему не отправляются письма.

Отправка через разные почтовые системы

  1. Настроить правило пересылки почты через другие системы.
  2. Пропускать отправку писем через msmtp.

Рассмотрим оба шага подробнее.

Пересылка почты

Пересылка настраивается с помощью правил почтового сервера postfix. Для этого настраивается опция sender_dependent_relayhost_maps.

Подробнее, на примере отправки писем через Яндекс, описан процесс настройки в инструкции Отправка почты от Postfix через почтовый сервер Яндекса.

Использование msmtp

Снова открываем файл z_bx_custom_settings.ini:

Комментируем опцию sendmail_path и добавляем новую строку:

* обратите внимание, что теперь мы отправляем письма через приложение /usr/bin/msmtp. Также мы добавляем опцию --read-envelope-from, которая будет в качестве отправителя подставлять содержимое заголовка reply-to.

В этой статье мы рассмотрим, как настроить почтовый сервер в операционной системе CentOS 7, с помощью которого вы сможете делать локальную отправку почты от приложений. Ранее мы уже рассматривали настройку почтового сервера в операционной системе Ubuntu Linux, поэтому если вы используете Ubuntu или Debian, обратитесь к руководству для этих дистрибутивов.

Настройка почтового агента

Пройдите авторизацию в операционной системе с помощью клиента SSH. В статье предполагается, что вы используете доступ к командам привилегированного режима с помощью sudo, если же вы работаете пол пользователем root, просто опускайте sudo при вводе команды.

В терминале введите команды для установки дополнительных пакетов для удобства редактирования файлов:

Для установки почтового сервера postfix введите команду:

После установки проверьте состояние сервиса postfix, для чего введите команду:

Статус postfix в Centos

По умолчанию почтовый сервер postfix выключен, поэтому вы должны его запустить. Для чего используется команда:

Для того, чтобы почтовый сервер автоматически запускался, необходимо активировать загрузку по умолчанию:

Убедимся, что служба запущена и работает:

Активный postfix в Centos

Откройте для редактирования конфигурационный файл Postfix:

В конфигурационном файле main.cf найдите строку:

и измените в ней параметр на localhost. Должно получиться так:

Далее найдите следующие строки:

Измените их так, чтобы значение каждой из них соответствовало тому, которое приведено в следующем листинге:

На этом редактирование файла конфигурации Postfix завершено. Сохраните файл main.cf. Теперь необходимо перезапустить сервер Postfix:

Для корректной работы почты необходимо установить имя хоста в то, которое указано в настройках почтовой системы:

Для того, чтобы почта успешно доставлялась адресатам, необходимо, чтобы для домена отправки была задана корректная PTR запись. Обычно редактирование PTR-записей осуществляется службой поддержки компании, у которой вы приобретаете IP-адреса для сервера.

Для проверки работы отправки почты можно воспользоваться командой mail :

Настройка переадресации с локального ящика сервера на внешний ящик

Переадресация настраивается с помощью файла /etc/aliases. Рассмотрим создания правила для переадресации локальной почты для root на внешний почтовый ящик. Откройте файл /etc/aliases для редактирования:

Если другие приложения не создавали свои записи, то содержимое файла должно выглядеть так:

Внесите в файл дополнительную строку для настройки переадресации:

Для применения новых данных введите в консоли команду:

Для повышения безопасности вашего почтового сервера читайте наше руководство по дальнейшей настройке Postfix для защиты от несанкционированного использования.

Если вы хотите использовать серверы почтовых систем для обслуживания отправки почты, воспользуйтесь следующими статьями:

Предпочитаете сервисы Yandex? Тогда читайте соответствующее руководство для подключения своего домена к инфраструктуре Yandex.

Читайте также: