Yandex ru imap: Настройка почтовых программ на компьютере

OAuth-авторизация в Яндекс.Почте

Почтовые клиенты и приложения могут получать доступ к ящикам Яндекс.Почты по протоколу OAuth. Этот протокол позволяет программам не запрашивать и не хранить логины и пароли, а пользователям — не беспокоиться о безопасности паролей.

OAuth-авторизацию поддерживают IMAP- и SMTP-серверы Яндекс.Почты. Авторизация реализована с помощью механизма XOAUTh3, который также использует Gmail и почта Mail.ru.

Чтобы реализовать OAuth-авторизацию в своем почтовом клиенте:

  1. Зарегистрируйте приложение на Яндекс.OAuth со следующими правами:

    • для авторизации на SMTP-сервере — Яндекс.Почта → Отправка писем через Яндекс.Почту по протоколу SMTP;

    • для авторизации на IMAP-сервере — Яндекс.Почта → Доступ на чтение писем в почтовом ящике или Чтение и удаление писем в почтовом ящике.

  2. Реализуйте запрос OAuth-токенов любым доступным способом (см. документацию Яндекс.OAuth). Для первоначального тестирования можно использовать отладочный токен.

  3. Организуйте отправку OAuth-токенов в Яндекс.Почту и обработку ответа сервера. Ниже описано корректное взаимодействие с серверами Яндекс.Почты по протоколам IMAP и SMTP.

Обращаться к почтовым серверам следует по следующим адресам:

При авторизации на IMAP-сервере ваша программа должна использовать команду AUTHENTICATE с механизмом XOAUTh3 (этот механизм не упоминается в выводе команды CAPABILITY, но поддерживается). OAuth-токен и email пользователя следует передавать в аргументе команды.

Чтобы составить аргумент с авторизационными данными:

  1. Подготовьте строку с данными:

    user=<логин>\@yandex.ru\001auth=Bearer <OAuth-токен>\001\001
  2. Закодируйте полученную строку методом base64, например:

    dXNlcj10ZXN0QHlhbmRleC5ydQFhdXRoPUJlYXJlciBBcmRGZmlnQUFLRndFVWJwWnExRlF4dWZ3SmxycS1wRTJnAQE=

Команда AUTHENTICATE должна быть оформлена как одна строка, без разрывов и переносов (пример ниже отформатирован для удобства чтения). Последовательность запросов и ответов при успешной IMAP-авторизации может выглядеть так:

openssl s_client -connect imap.yandex.com:993 -crlf
<инициализация соединения>
клиент: C01 CAPABILITY
сервер: * CAPABILITY IMAP4rev1 CHILDREN UNSELECT LITERAL+ NAMESPACE XLIST BINARY UIDPLUS ENABLE ID AUTH=PLAIN IDLE MOVE
сервер: C01 OK CAPABILITY Completed.
клиент: A01 AUTHENTICATE XOAUTh3 dXNlcj10ZXN0QHlhbmRleC5ydQFhdXRoPUJlYXJlciBBcmRGZmlnQUFLRndFVWJwWnExRlF4dWZ3SmxycS1wRTJnAQE=
сервер: * CAPABILITY IMAP4rev1 CHILDREN UNSELECT LITERAL+ NAMESPACE XLIST BINARY UIDPLUS ENABLE ID IDLE MOVE
сервер: A01 OK AUTHENTICATE Completed.
<продолжение работы>

Сервер возвращает описание ошибки в ответ на команду AUTHENTICATE. Последовательность запросов и ответов с ошибкой IMAP-авторизации может выглядеть так:

openssl s_client -connect imap.yandex.com:993 -crlf
<инициализация соединения>
клиент: C01 CAPABILITY
сервер: * CAPABILITY CHILDREN UNSELECT LITERAL+ NAMESPACE XLIST BINARY UIDPLUS ENABLE ID AUTH=PLAIN IDLE MOVE
сервер: C01 OK CAPABILITY Completed. 
клиент: A01 AUTHENTICATE XOAUTh3 dXNlcj10ZXN0MUB5YW5kZXgucnUBYXV0aD1CZWFyZXIgQXJkRmZpZ0FBS0Z3RVVicFpxMUZReHVmd0pscnEtcEUyZwEB
сервер: A01 NO [AUTHENTICATIONFAILED] AUTHENTICATE Invalid credentials or IMAP is disabled sc=ANQhQk2BrGkH_101523_7m
<продолжение работы>
После описания ошибки сервер приводит последовательность вида sc=ANQrQk2BrGkH_101523_7m. Это идентификатор сессии, который стоит указать, если вы обращаетесь с этой ошибкой в службу поддержки Яндекс.Почты.

При авторизации на SMTP-сервере ваша программа должна использовать команду AUTH с механизмом XOAUTh3. Токен и логин пользователя следует закодировать и передавать в аргументе команды.

Аргумент с авторизационными данными составляется так же, как и для протокола IMAP:

  1. Подготовьте строку с данными:

    user=<логин>\@yandex.
    ru\001auth=Bearer <OAuth-токен>\001\001
  2. Закодируйте полученную строку методом base64, например:

    dXNlcj10ZXN0QHlhbmRleC5ydQFhdXRoPUJlYXJlciBBcmRGZmlnQUFLRndFVWJwWnExRlF4dWZ3SmxycS1wRTJnAQE=

Последовательность запросов и ответов при успешной SMTP-авторизации выглядит так:

openssl s_client -connect smtp.yandex.com:465 -crlf
<инициализация соединения>
сервер: 220 smtp2o.mail.yandex.net ESMTP (Want to use Yandex.Mail for your domain? Visit http://pdd.yandex.ru)
клиент:EHLO sender.example.com
сервер:250-smtp2o.mail.yandex.net
сервер:250-8BITMIME
сервер:250-PIPELINING
сервер:250-SIZE 42991616
сервер:250-AUTH LOGIN PLAIN XOAUTh3
сервер:250-DSN
сервер:250 ENHANCEDSTATUSCODES
клиент:AUTH XOAUTh3 dXNlcj10ZXN0QHlhbmRleC5ydQFhdXRoPUJlYXJlciBBcmRGZmlnQUFLRndFVWJwWnExRlF4dWZ3SmxycS1wRTJnAQE=
сервер:235 2.7.0 Authentication successful.
<продолжение работы>

Команда AUTH должна быть оформлена как одна строка, без переносов (пример отформатирован для удобства чтения).

Сервер возвращает описание ошибки в ответ на команду AUTH, с кодом 535.

Пример последовательности запросов и ответов при ошибке SMTP-авторизации:

openssl s_client -connect smtp.yandex.com:465 -crlf
<инициализация соединения>
сервер: 220 smtp2o.mail.yandex.net ESMTP (Want to use Yandex.Mail for your domain? Visit http://pdd.yandex.ru)
клиент:EHLO sender.example.com
сервер:250-smtp2o.mail.yandex.net
сервер:250-8BITMIME
сервер:250-PIPELINING
сервер:250-SIZE 42991616
сервер:250-AUTH LOGIN PLAIN XOAUTh3
сервер:250-DSN
сервер:250 ENHANCEDSTATUSCODES
клиент:AUTH XOAUTh3 dXNlcj10ZXN0MUB5YW5kZXgucnUBYXV0aD1CZWFyZXIgQXJkRmZpZ0FBS0Z3RVVicFpxMUZReHVmd0pscnEtcEUyZwEB
сервер:535 5.7.8 Error: authentication failed: Invalid user or password!
<продолжение работы>

Если авторизационная строка была составлена неверно, ошибка будет такой:

сервер: 535 5. 7.8 Error: authentication failed:Invalid format.

Была ли статья полезна?

Yandex почта для домена — Сайт о заработке в интернете, способах, кейсах, личностном росте!

Yandex почта для домена получила широкое распространение благодаря дешевизне по сравнению с содержанием собственного почтового сервера. Многим компаниям попросту нет смысла держать сисадмина из-за десятка почтовых ящиков, которыми и пользуются то 1-2 раза в неделю.

Сегодня счетчик привязанных к этому сервису доменов идет уже на сотни тысяч. Общее количество созданных ящиков уже более 5 миллионов. За время своего развития данный инструмент от компании Яндекс получил множество расширений и обновлений, таких как, например, поддержка рассылок или импорт писем с прошлого адреса, так что пользование этим сервисом теперь удобнее, чем содержание собственного почтового сервера.

Перед началом пользования инструмент нужно настроить, и далее речь пойдет о том, как подключить yandex почту для домена.

Если вам лень читать статью — просто посмотрите это видео:

Как подключить Yandex почту для домена

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

Сделать это можно несколькими способами. Яндекс сам предлагает нам разные варианты.

ДНС сервера

Первый способ — делегировать способ на Яндекс.

По моему мнению, это самый простой способ. МХ сервера настроятся автоматически. Нам нужно лишь изменить DNS сервера доменного имени.

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

Измените настройки на требуемые Яндексом и через некоторое время вы сможете пользоваться панелью инструментов.

Загрузка файла в файловый каталог сайта

Для проверки сервис предлагает нам еще один способ — создание в корневом каталоге сайта файлы с определенным названием и содержимым.

Для каждого пользователя эти данные индивидуальны.

Нужно просто следовать инструкциям.

Настройка CNAME

Для того, чтобы воспользоваться этим способом, нужно вновь зайти в панель управления своими доменами и открыть настройки ДНС. Введите левую часть в поле «Хост», а правую — в поле «Указывает на»

В моем случае yamail-a902f04aa8c3 будет находиться в «Поле», а mail.yandex.ru — в «Указывает на».

Изменение контактного адреса у регистратора

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

После этого нужно на странице произвести проверку и вернуть ваш старый контактный адрес электронной почты.

Настройка MX записей

Каким бы методом(кроме первого) вы не подтвердили принадлежность, для подключения yandex почты для домена нужно настроить MX записи.

Таким образом вы указываете на сервер, принимающий вашу почту. В данном случае нам нужно сделать указание на сервера Яндекса.

Как мы уже привыкли, нужно войти в панель управления доменом и открыть MX настройки.

У регистраторов весьма разные интерфейсы, поэтому что-то конкретное назвать тут сложно.
Итак, нужно удалить все существующие записи, а после этого создать новую, со следующими настройками:

  • Priority: 10. Если провайдер по какой-то причине 10 поставить не дает, нужно выбрать любое число, не равное нулю.
  • Значение, MAIL RELAY, Mail server — в поле для сервера — нужно вписать: mx.yandex.net.
  • Полю имя поддомена нужно присвоить значение: @

После этого сохраните настройки и ждите. Процесс применения параметров может занять до 72 часов.

Создание почтового ящика

Для создания нового почтового ящика нужно перейти страницу «Мои домены» на сайте Яндекса.

Далее нужно кликнуть по «Добавить почтовый ящик», укажите логин и пароль.

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

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

Пользование почтой

Для доступа к созданной Yandex почте на домене можно пользоваться либо веб-интерфейсом, либо почтовыми программами(Outlook, Thunderbird и т.д.)

В первом случае вы можете входить в вашу почту прямо на главной странице Яндекса.

Если вас этот вариант не устраивает, то вы можете создать страницу авторизации на своем домене следующим путем:

  • Зайдите в уже знакомые CNAME записи и создайте новую.
  • Укажите в поле «Имя»(может быть «alias») значение «mail».
  • В поле «Значение»(«Canonical name») укажите » domain.mail.yandex.net.».
  • В некоторых панелях управления нужно указывать значение TTL. Установите его на уровне «21600».

Процесс сохранения вновь может занять до 72 часов.

После прохождения этого времени вы смоете авторизоваться по адресу вида «mail.yourdomain.com».

К слову, если вы ранее делегировали домен, то эта страница создастся автоматически. Вот почему этот способ лучший.

Для того, чтобы настроить программы на получение Yandex почты на домене, сначала нужно включить IMAP протоколирование.

Делается это в настройках.

«Почтовые программы»→»С сервера imap.yandex.ru по протоколу IMAP». Сохраните настройки.

После этого в настройках входящей почты нужно указать следующие данные почтового сервера — «imap.yandex.ru». Тип защиты соединения — «SSL». Порт — «993».

Для исходящих писем нужно установить те же настройки, только изменив порт на «465» и значение почтового сервера на «smtp.yandex.ru»

Кроме этого, можно настроить протоколирование по POP3.

В настройках программы нужно включить пункт » С сервера pop.yandex.ru по протоколу POP3″.

Также необходимо внести некоторые изменения в настройках входящей почты. В поле порт нужно указать число «995», а адрес сервера изменить на «pop.yandex.ru». В остальном настройка по IMAP протоколированию и POP 3 совпадают.

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

Настройка Yandex почты для домена — дело несложное. Подключая этот сервис, вы получаете большой набор инструментов для профессиональной работы.

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

Тем более, что, как сказано выше, сделать это совсем не трудно.

Надеюсь, эта статья поможет подключить почту для вашего домена.

[bye]

Сервер N8N не работает (IMAP) — Вопросы

vasyablack

#1

Привет,
Мой сервер N8N отключается через 5-15 минут, когда я запускаю рабочий процесс с узлом EmailReadImap.
Кто-нибудь знает причину этого?

Рабочий процесс:
EmailReadImap (Почта Яндекса) — HTTP-запрос (в CRM)

N8N 0.111.0 (Docker)

hardil1712

#2

Привет @vasyablack!

Добро пожаловать в сообщество

Возможно, это связано с тем, как вы развернули n8n. Вы выполнили шаги, указанные в документации?

РикардоE105

#3

Возможно ли, что узел IMAP читает столько писем, что занимает всю оперативную память? Заставить сервер перезагружаться?

Коуто

#4

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

васяблэк

#5

Не думаю, потому что непрочитанных сообщений нет, когда сервер не работает. А также для проверки этой проблемы я использовал Action: Nothing.

васяблэк

#6

Да, конечно!

RawmanGrey

#7

Проблема, вероятно, в использовании неправильных учетных данных: вы сделали новый пароль приложения в https://passport. yandex.ru/profile ? Соответствующие документы доступны только на русском языке здесь.

1 Нравится

распереподвиподверт

#8

Мне не подходит!
что еще?

Хайро

#9

Здравствуйте, @vasyablack, на прикрепленном вами изображении, кажется, не фильтруются прочитанные или непрочитанные электронные письма, так что, возможно, это относится ко всем электронным письмам, вы можете попробовать пользовательские правила электронной почты

электронная почта — Передача почтовых запросов ИЗ mail.

ourhost.net В pop/smtp/imap.otherhost.net

спросил

Изменено 9 лет, 9 месяцев назад

Просмотрено 197 раз

Проблемы с внутренним почтовым сервером и желание перейти на внешний почтовый провайдер (pdd.yandex.ru).

Я умею переносить пользователей и их почту (большое спасибо за API к Яндексу), но в текущей конфигурации у нас один хост как сервер pop3/smtp/imap (mail.ourhost.net) и теперь нам нужно работать с тремя разные сервера — pop/smtp/imap.yandex.ru.

Основной вопрос, как прозрачно передавать входящие запросы пользователей с mail.ourhost.net на pop.yandex.ru, smtp.yandex.ru и imap.yandex.ru в зависимости от порта подключения.

Есть идеи? Спасибо.

  • электронная почта
  • прокси
  • переадресация портов

1

Вы ставите машину по адресу mail. outhost.net, которая ретранслирует трафик по порту POP3 на pop.yandex.ru, по порту IMAP4 на imap.yandex.ru и т.д.

Включить переадресацию IP (иначе ядро ​​будет отбрасывать перенаправленные пакеты):

 echo 1 >/proc/sys/net/ipv4/ip_forward
 

Релейный порт 110 на pop.yandex.ru:

 iptables -t nat -A PREROUTING -p tcp --dport 110 -j DNAT --to-destination pop.yandex.ru
iptables -t nat -A POSTROUTING -p tcp -d W --dport 110 -j MASQUERADE
 

Есть ряд проблем с этим:

  1. Теперь у вас есть новая машина, которую вы должны обслуживать.
  2. Пропускная способность этого хоста в 2 раза больше, чем пропускная способность серверов Яндекса. Это может быть много!
  3. У вас есть единая точка отказа.
  4. Если Яндекс изменит свой IP-адрес (или будет использовать несколько IP-адресов), вы всегда будете гоняться за Яндексом.

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

Я не рекомендую использовать эту технику в качестве постоянного решения. Если вы настолько перегружены, что ваши «временные» решения часто превращаются в постоянные решения, не делайте этого вообще. Вместо этого позвольте людям некоторое время оставаться без электронной почты, пока вы посещаете каждую машину, чтобы правильно ее настроить. Если у Яндекса есть опция веб-почты, они могут использовать ее, пока ждут. Перенастройку клиентов можно автоматизировать с помощью PowerShell; на самом деле вам не следует посещать каждую машину.

Для новой конфигурации вы можете использовать имена хостов, такие как pop.yourcompany.com и imap.yourcompany.com . Сделайте эти CNAME на серверах Яндекса. Если у вас очень большая компания, вы можете подумать о создании CNAME для каждого пользователя, чтобы pop-madhatter.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *