![](https://habrastorage.org/getpro/habr/upload_files/f6d/18c/817/f6d18c81776ba9ca0844dd7c9b629bd9.jpg)
Эта статья представляет собой материал, который предназначен для экономии времени системных администраторов, столкнувшихся с проблемой работы почты в облаке 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. Поддержка посоветовала смотреть эту статью для решения вопроса. Мы считаем статью не исчерпывающей, и по нашему опыту есть два варианта решения этой проблемы:
Запросить ip-адрес с открытым 25-ым портом. По нашему опыту ожидание составляет ~7-10 дней.
Отправка почты через yandex 360.
В этой статье мы решили рассмотреть именно второй вариант и написать полную настройку почты с использование 360.yandex.
Настройка 360.yandex
Первым делом нам необходимо зайти в 360.yandex.
Выбираем организацию. По умолчанию это organization-почтовый адрес. На этом этапе вы можете выбрать один из двух вариантов использования организацией 360.yandex:
Использовать свой частный почтовый адрес как аккаунт организации.
Использовать свою юридическое лицо.
При выборе одного из этих двух вариантов имейте в виду, что в Yandex имеется ограничение на отправку почты и для первого и для второго.
Для варианта использования своего частного почтового адреса как организации имеется следующее ограничение:
Количество получателей |
Ограничение |
Суммарно во всех письмах за сутки |
500 |
В одном письме, отправленном через сайт |
50 |
В одном письме, отправленном через почтовую программу или по протоколу SMTP |
35 |
В этом случае получаем максимум 500 писем в сутки.
Для варианта использования юридического лица следующее ограничение:
Количество получателей |
Ограничение |
Суммарно во всех письмах за сутки (с одного ящика) |
3000 * |
Суммарно во всех письмах за сутки (со всех ящиков одного домена) |
5000 * |
В одном письме, отправленном через сайт |
50 |
В одном письме, отправленном через почтовую программу или по протоколу SMTP |
35 |
В этом случае мы получаем 3000 писем в сутки.
Какой вариант выбрать - решать только вам. Более подробно с информацией можно ознакомится на офф. сайте.
В нашей статье мы будем использовать 1 вариант.
Итак, после выбора организации мы видим панель:
![](https://habrastorage.org/getpro/habr/upload_files/1b7/9d5/8ef/1b79d58ef49293b9e151b75291584a72.png)
Справа выбираем настроить почту:
![](https://habrastorage.org/getpro/habr/upload_files/c71/80e/871/c7180e8711e59794f19f413e611f9e79.png)
Вводим название вашего домена:
![](https://habrastorage.org/getpro/habr/upload_files/f83/170/658/f831706580c8aba0b518a299d0150f4a.png)
После введения вашего домена появится информация об подтверждении домена:
![](https://habrastorage.org/getpro/habr/upload_files/5f7/a89/689/5f7a8968965dbd6b6bb9fa3516ec815b.png)
В Yandex имеется 3 способа подтверждения домена.
DNS-запись. Подтверждается ~2-3 часа.
Метатег. Подтверждается ~1-2 часа. Необходимо будет задействовать разработчиков.
HTML-файл. Подтверждается практически моментально, после добавления файла на сайт.
Подтверждаем ваш домен. После этого мы увидим новую вкладку "Домены" на левой панели, переходим в нее:
![](https://habrastorage.org/getpro/habr/upload_files/ba3/576/d08/ba3576d08a082193118ff1597b2e9a4c.png)
Мы видим просьбу с добавлением MX-записи для домена. На этом этапе также имеется 2 варианта ее добавления:
Первый вариант - делегирование домена в dns yandex.
Второй вариант - добавление MX-записи самостоятельно.
Первый вариант потребует от вас делегировать текущую зону с вашего DNS-сервера на сервера Yandex. После делегации домена, Yandex добавить MX-записи самостоятельно. Второй вариант - это добавить MX-запись самостоятельно на ваш текущий сервер DNS. Какой вариант выбрать - вам нужно решить самостоятельно. В нашей статье мы рассматриваем второй вариант. Выбираем его, и видим следующие рекомендации:
![](https://habrastorage.org/getpro/habr/upload_files/15c/d34/f02/15cd34f02ff0bc9cb01311b261ddbf8d.png)
Добавляем DNS-запись. По нашему опыту, подтверждение занимает от 30 минут до 1 часа. Все зависит от DNS-сервера, на котором хранятся ваши записи.
После подтверждения MX-записи мы видим рекомендации о добавлении DKIM и SPF записи:
![](https://habrastorage.org/getpro/habr/upload_files/03d/85b/d3a/03d85bd3a31f604af48403f0b93ae5b1.png)
Рекомендации будут выглядеть так:
![](https://habrastorage.org/getpro/habr/upload_files/799/7b5/1a6/7997b51a6136843b8a90751fa2b1ee11.png)
![](https://habrastorage.org/getpro/habr/upload_files/b47/959/159/b47959159d593e664e5b6ad733ceca6c.png)
Выполняем вышеуказанные рекомендации. После всех действий мы будем видеть зеленую галочку, которая нам говорит об успешном добавлении всех записей и удачной настройке почты на стороне Yandex.
Добавляем почтовый адрес
Идем во вкладку сотрудники:
![](https://habrastorage.org/getpro/habr/upload_files/519/bdb/898/519bdb898f3624d34663f6cea28b0ad6.png)
Добавляем сотрудника:
![](https://habrastorage.org/getpro/habr/upload_files/258/8a1/de9/2588a1de93c8e525c054fc5f82423a42.png)
Вводим данные:
![](https://habrastorage.org/getpro/habr/upload_files/299/a17/f0b/299a17f0bc3fcfd64e2c8fa4e6f52b3c.png)
В поле "Логин" указываем основную почту, с которой отправляются письма (например, info@domain_name). После введения данных в раздел "Сотрудники" появится строка с указанной почтой.
Выбираем настройки сотрудника справа:
![](https://habrastorage.org/getpro/habr/upload_files/314/c06/a38/314c06a3842243d196804b88996dc615.png)
Выбираем пункт "Редактировать алиасы":
![](https://habrastorage.org/getpro/habr/upload_files/95f/1a6/69c/95f1a669c20edad4e46e17dd97220a0c.png)
Далее нажимаем "Добавить новый". После этого добавляем все почтовые адреса, которые у вас имеются (например, sell@domain_name.com, admin@domain_name.com). Сохраняем и завершаем настройку на стороне 360.yandex.
Настройка почты в почтовом ящике
Следующим пунктом необходимо разрешить отправку почты с помощью SMTP в mail.yandex.ru. Для этого заходим в только что созданный аккаунт. Выбираем "Настройки" в правом верхнем углу, далее "Все настройки". После чего увидим следующее меню:
![](https://habrastorage.org/getpro/habr/upload_files/375/901/fea/375901fea68b4737fad6039967854007.png)
Выбираем пункт "Почтовые программы":
![](https://habrastorage.org/getpro/habr/upload_files/bdc/d72/6cb/bdcd726cb497c9e646c46bf3be343429.png)
Ставим все галочки и сохраняем. Далее возвращаемся во "Все настройки" и выбираем пункт "Безопасность".
![](https://habrastorage.org/getpro/habr/upload_files/f47/bda/0bd/f47bda0bddac6a52da183d15d851f5a2.png)
Выбираем "Пароли приложений".
![](https://habrastorage.org/getpro/habr/upload_files/4f2/77b/bc2/4f277bbc24b8c7ed96e3450cbf57228a.png)
Вводим название и видим пароль приложения. Сохраняем его и нажимаем "Готово".
Настройка exim4 на стороне сервера
Устанавливаем exim4:
apt-get install exim4-daemon-heavy
Далее необходимо сконфигурировать exim4:
dpkg-reconfigure exim4-config
Выбираем пункты по порядку:
Общий тип почтовой конфигурации.
Выбираем: Отправка почты через smarthost; приём по SMTP или через fetchmail.Почтовое имя системы.
В данном случае это ваш domain_name.IP-адреса, с которых следует ожидать входящие соединения SMTP.
Оставляем не тронутым.Другие места назначения, для которых должна приниматься почта.
Оставляем не тронутым.Домены, для которых доступна релейная передача почты.
Оставляем не тронутым.IP-адрес или имя хоста являющегося исходящим smarthost.
Вводим: smtp.yandex.ru::587Сокращать количество DNS-запросов до минимума (дозвон по требованию)?.
Выбираем: да.Метод доставки локальной почты.
Выбираем: mbox формат в /var/mail/.Разделить конфигурацию на маленькие файлы.
Выбираем: нет.
Всё, 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
). Может быть две причины:
Вы ввели неправильный пароль. Исправьте пароль, либо сделайте новый.
Вы отправили более 500/3000 писем с вашего почтового адреса в сутки. В данном случае лимиты обновятся через сутки.
В этой статье мы рассмотрели вариант настройки почты с использованием Yandex Cloud. Если у вас остались вопросы - пожалуйста, пишите их в комментариях, мы постараемся дать исчерпывающий ответ.
Спасибо за уделенное нам время. Надеемся, статья была для вас полезна.
Также подписывайтесь на наш telegram-канал DevOps FM - там много полезного для DevOps-инженеров и системных администраторов.
Рекомендации для чтения:
Комментарии (5)
xikoj28346
28.07.2022 19:30Да, хотелось бы настроить google cloud по такому же принципу)
select26
29.07.2022 08:58+1Почему нет?
Блокируется то только 25 порт. Используйте 587 и любой SMTP хост.
xikoj28346
Полезная статья. Однако можно ли такой же трюк провернуть с Google Cloud?
thisprogame Автор
Добрый день.
Вы хотите вместо yandex smtp использовать google smtp?
Или настроить точно также, но на стороне google?