Не работает отправка почты через smtp.yandex.ru и smtp.gmail.ru





Столкнулся недавно с такой проблемой. Написал smtp клиента используя indy на Delphi и библиотеки ssleay32.dll, libeay32.dll.

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

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

И так, что нужно сделать в настройках почты Яндекс что бы smtp клиент заработал корректно:

  1. Заходим в свой почтовый ящик на Яндексе, открываем раздел «Настройки», «Безопасность».
  2. Включите и создайте пароли приложений, чтобы повысить безопасность при использовании альтернативных почтовых программ.

3. пароли приложений.

4. Перед нами открывается новое окно. В поле «Название пароля», можно как-то озаглавить наш пароль. Я это поле оставил пустым. Далее нажимаем на кнопку «Создать».

5. Пароль создан системой Яндекса автоматически. Этот пароль мы будем использовать в нашем почтовом клиенте для авторизации на почте.

6. Далее, возвращаемся в раздел «Безопасность» и открываем категорию «Почтовые программы».

Ставим галочки в чекбоксах «С сервера imap.yandex.ru по протоколу IMAP» и «Пароли приложений и OAuth-токены» нажимаем на кнопку сохранить изменения. После всех этих манипуляций, нужно в почтовом smtp клиенте поменять пароль на пароль, который нам сгенерировал сервис Яндекса для нашего приложения. Теперь smtp клиент сможет слать письма используя почту Яши.

А в Google аккаунте нужно всего лишь зайти в раздел «Ненадежные приложения, у которых есть доступ к аккаунту» и включить переключатель напротив «Небезопасные приложения заблокированы».

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

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

*