Как стать автором
Обновить
74.32
Nixys
DevOps, DevSecOps, MLOps — системный IT-интегратор

Туториал по настройке почты exim4 в облаке Yandex

Время на прочтение6 мин
Количество просмотров4.9K

Эта статья представляет собой материал, который предназначен для экономии времени системных администраторов, столкнувшихся с проблемой работы почты в облаке Yandex.

В этом материале мы рассмотрим настройку почты с использованием exim4 и 360.yandex.

Как-то раз мы столкнулись с проблемой работы почты на проекте, который был перевезен в облако Yandex пару дней назад. Она заключалась в увеличении очереди писем, при этом все письма, которые уходили не на почтовый адрес Yandex, уходили в заморозку.

В логах мы увидели следующую ошибку:

1oGD5P-00AwSA-Lz H=mx.google.com: SMTP timeout after initial connection: Connection timed out

1oGD5P-00AwSA-Lz R=dnslookup T=remote_smtp defer (110): Connection timed out H=mx.google.com: SMTP timeout after initial connection 

При проверке соединения при помощи telnet на 25-е порты почтовых сервисов получили ошибку timed out.

При поиске решения данной проблемы в интернете нашли информацию от Yandex, что 25-ый порт закрыт на отправку почты на все почтовые сервисы, кроме Yandex (смотреть пункт: "Фильтрация исходящего трафика").

Вопрос по 25-ому порту был направлен в саппорт Yandex Cloud. Поддержка посоветовала смотреть эту статью для решения вопроса. Мы считаем статью не исчерпывающей, и по нашему опыту есть два варианта решения этой проблемы:

  1. Запросить ip-адрес с открытым 25-ым портом. По нашему опыту ожидание составляет ~7-10 дней.

  2. Отправка почты через yandex 360.

В этой статье мы решили рассмотреть именно второй вариант и написать полную настройку почты с использование 360.yandex.

Настройка 360.yandex

Первым делом нам необходимо зайти в 360.yandex.

Выбираем организацию. По умолчанию это organization-почтовый адрес. На этом этапе вы можете выбрать один из двух вариантов использования организацией 360.yandex:

  1. Использовать свой частный почтовый адрес как аккаунт организации.

  2. Использовать свою юридическое лицо.

При выборе одного из этих двух вариантов имейте в виду, что в Yandex имеется ограничение на отправку почты и для первого и для второго.

Для варианта использования своего частного почтового адреса как организации имеется следующее ограничение:

Количество получателей

Ограничение

Суммарно во всех письмах за сутки

500

В одном письме, отправленном через сайт

50

В одном письме, отправленном через почтовую программу или по протоколу SMTP

35

В этом случае получаем максимум 500 писем в сутки.

Для варианта использования юридического лица следующее ограничение:

Количество получателей

Ограничение

Суммарно во всех письмах за сутки (с одного ящика)

3000 *

Суммарно во всех письмах за сутки (со всех ящиков одного домена)

5000 *

В одном письме, отправленном через сайт

50

В одном письме, отправленном через почтовую программу или по протоколу SMTP

35

В этом случае мы получаем 3000 писем в сутки.

Какой вариант выбрать - решать только вам. Более подробно с информацией можно ознакомится на офф. сайте.

В нашей статье мы будем использовать 1 вариант.

Итак, после выбора организации мы видим панель:

Справа выбираем настроить почту:

Вводим название вашего домена:

После введения вашего домена появится информация об подтверждении домена:

В Yandex имеется 3 способа подтверждения домена.

  1. DNS-запись. Подтверждается ~2-3 часа.

  2. Метатег. Подтверждается ~1-2 часа. Необходимо будет задействовать разработчиков.

  3. HTML-файл. Подтверждается практически моментально, после добавления файла на сайт.

Подтверждаем ваш домен. После этого мы увидим новую вкладку "Домены" на левой панели, переходим в нее:

Мы видим просьбу с добавлением MX-записи для домена. На этом этапе также имеется 2 варианта ее добавления:

  1. Первый вариант - делегирование домена в dns yandex.

  2. Второй вариант - добавление MX-записи самостоятельно.

Первый вариант потребует от вас делегировать текущую зону с вашего DNS-сервера на сервера Yandex. После делегации домена, Yandex добавить MX-записи самостоятельно. Второй вариант - это добавить MX-запись самостоятельно на ваш текущий сервер DNS. Какой вариант выбрать - вам нужно решить самостоятельно. В нашей статье мы рассматриваем второй вариант. Выбираем его, и видим следующие рекомендации:

Добавляем DNS-запись. По нашему опыту, подтверждение занимает от 30 минут до 1 часа. Все зависит от DNS-сервера, на котором хранятся ваши записи.

После подтверждения MX-записи мы видим рекомендации о добавлении DKIM и SPF записи:

Рекомендации будут выглядеть так:

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

Добавляем почтовый адрес

Идем во вкладку сотрудники:

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

Вводим данные:

В поле "Логин" указываем основную почту, с которой отправляются письма (например, info@domain_name). После введения данных в раздел "Сотрудники" появится строка с указанной почтой.

Выбираем настройки сотрудника справа:

Выбираем пункт "Редактировать алиасы":

Далее нажимаем "Добавить новый". После этого добавляем все почтовые адреса, которые у вас имеются (например, sell@domain_name.com, admin@domain_name.com). Сохраняем и завершаем настройку на стороне 360.yandex.

Настройка почты в почтовом ящике

Следующим пунктом необходимо разрешить отправку почты с помощью SMTP в mail.yandex.ru. Для этого заходим в только что созданный аккаунт. Выбираем "Настройки" в правом верхнем углу, далее "Все настройки". После чего увидим следующее меню:

Выбираем пункт "Почтовые программы":

Ставим все галочки и сохраняем. Далее возвращаемся во "Все настройки" и выбираем пункт "Безопасность".

Выбираем "Пароли приложений".

Вводим название и видим пароль приложения. Сохраняем его и нажимаем "Готово".

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

Устанавливаем exim4:

apt-get install exim4-daemon-heavy

Далее необходимо сконфигурировать exim4:

dpkg-reconfigure exim4-config

Выбираем пункты по порядку:

  1. Общий тип почтовой конфигурации.
    Выбираем: Отправка почты через smarthost; приём по SMTP или через fetchmail.

  2. Почтовое имя системы.
    В данном случае это ваш domain_name.

  3. IP-адреса, с которых следует ожидать входящие соединения SMTP.
    Оставляем не тронутым.

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

  5. Домены, для которых доступна релейная передача почты.
    Оставляем не тронутым.

  6. IP-адрес или имя хоста являющегося исходящим smarthost.
    Вводим: smtp.yandex.ru::587

  7. Сокращать количество DNS-запросов до минимума (дозвон по требованию)?.
    Выбираем: да.

  8. Метод доставки локальной почты.
    Выбираем: mbox формат в /var/mail/.

  9.  Разделить конфигурацию на маленькие файлы.
    Выбираем: нет.

Всё, exim4 настроен.

Идем в файлы конфигурации по адресу /etc/exim4/. Конфигурация /etc/exim4/update-exim4.conf.conf должна выглядеть приблизительно так:

# /etc/exim4/update-exim4.conf.conf
#
# Edit this file and /etc/mailname by hand and execute update-exim4.conf
# yourself or use 'dpkg-reconfigure exim4-config'
#
# Please note that this is _not_ a dpkg-conffile and that automatic changes
# to this file might happen. The code handling this will honor your local
# changes, so this is usually fine, but will break local schemes that mess
# around with multiple versions of the file.
#
# update-exim4.conf uses this file to determine variable values to generate
# exim configuration macros for the configuration file.
#
# Most settings found in here do have corresponding questions in the
# Debconf configuration, but not all of them.
#
# This is a Debian specific file

dc_eximconfig_configtype='smarthost'
dc_other_hostnames=''
dc_local_interfaces='127.0.0.1 ; ::1'
dc_readhost=''
dc_relay_domains=''
dc_minimaldns='true'
dc_relay_nets=''
dc_smarthost='smtp.yandex.ru::587'
CFILEMODE='644'
dc_use_split_config='false'
dc_hide_mailname='false'
dc_mailname_in_oh='true'
dc_localdelivery='mail_spool'

Открываем файл /etc/exim4/passwd.client. В него вводим логин и пароль (пароль приложения, который был получен и сохранен на предыдущем этапе).

# password file used when the local exim is authenticating to a remote
# host as a client.
#
# see exim4_passwd_client(5) for more documentation
#
# Example:
### target.mail.server.example:login:password
smtp.yandex.ru:info@domain_name:password

Сохраняем изменения и перезагружаем exim4.

service exim4 restart

Финал

Настройка завершена. Теперь вся ваша почта уходит через 360.yandex.

Проблема с авторизацией, с которой можно столкнуться: если в log-файлах вы видите информацию о неудачной авторизации (auth failed). Может быть две причины:

  1. Вы ввели неправильный пароль. Исправьте пароль, либо сделайте новый.

  2. Вы отправили более 500/3000 писем с вашего почтового адреса в сутки. В данном случае лимиты обновятся через сутки.

В этой статье мы рассмотрели вариант настройки почты с использованием Yandex Cloud. Если у вас остались вопросы - пожалуйста, пишите их в комментариях, мы постараемся дать исчерпывающий ответ.

Спасибо за уделенное нам время. Надеемся, статья была для вас полезна.

Также подписывайтесь на наш telegram-канал DevOps FM - там много полезного для DevOps-инженеров и системных администраторов.

Рекомендации для чтения:

Зашита от dos/ddos.

Курс yandex практикум.

10 частых ошибок в настройке nginx.

Неудачные миграции в облако.

Теги:
Хабы:
Всего голосов 7: ↑6 и ↓1+5
Комментарии5

Публикации

Информация

Сайт
nixys.ru
Дата регистрации
Дата основания
Численность
51–100 человек
Местоположение
Россия
Представитель
Vlada Grishkina-Makareva