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

Настройка Яндекс — почты для Laravel и модуля swiftmailer

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

Генерация пароля приложений для SMTP Яндекс — почты

Переходим в свой почтовый ящик и выбераем пункт «Почтовые программы». В данном разделе нужно проставить галочку рядом с пунктом «С сервера imap.yande.ru по протоколу IMAP». В способе авторизации оставляем галочку только напротив пункта «Пароли приложений и OAuth-токены»

Раздел Почтовые программы

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

Раздел Включить пароли приложенийВключение паролей для приложений

Чтобы создать пароль для приложения, введим пароль для своего аккаунта и он не будет передаваться сторонним сервисам

Задание пароля для Yandex SMTP

В типе приложений выбераем «Почта» и введите название для пароля. Мы вводим название сервиса, чтобы не путаться. Затем нажмите на кнопку «Создать»

Задаем название для нового аккаунта

Нам автоматом будет сгенерирован новый пароль и нужно его использовать, как «Пароль SMTP» и «Пароль IMAP» при задании параметров в .env Laravel

Новый сгенерированный пароль

Настройка параметров .env в Laravel

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

...
MAIL_MAILER=smtp
MAIL_HOST=smtp.yandex.com
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=mypassword
MAIL_ENCRYPTION=tls
[email protected]
MAIL_FROM_NAME="${APP_NAME}"
...

Список возможных ошибок

Приведу ниже 2 вида ошибок, которые мне встретились при настройке, чтобы при поиске вы попали сюда:

первая ошибка связана с тем, что модуль не может соединиться с сервером почты yandex

Зачастую это связано с тем, что указан неправильный порт или авторизационные данные. Порт нужно указать, как 587, а не 465

{message: "Connection to tcp://smtp.yandex.com:465 Timed Out", exception: "Swift_TransportException",…}
exception: "Swift_TransportException"
file: "/var/www/html/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php"
line: 475
message: "Connection to tcp://smtp.yandex.com:465 Timed Out"

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

Зачастую это связано с тем, что не указан/неправильно указан обратный адрес. Яндекс требует чтобы почта отправлялась с его реального адреса, а если вы не указали его явно, Laravel подставит там свою заглушку в файле config/mail.php, т.е. парметр [email protected] нужно указать реальный в файле .env, желательно относящийся к домену *@yandex.ru

exception: "Swift_TransportException"
file: "/var/www/html/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport. php"
line: 459
message: "Expected response code 250 but got code \"553\", with message \"553 5.7.1 Sender address rejected: not owned by auth user. 1656960714-utTzdALh0H-psRmqtSH\r\n\""
Пожалуйста, оцените материал

Sample rating item

Настройка SMTP в Drupal для отправки через Яндекс Почту

Не будем долго писать, что отправка уведомлений с сайта и доставка писем крайне важная задача — будь то обновления по безопасности или заявки. Да, по умолчанию отправляются и сервером, но могут попадать в спам. Отличным решением является отправка через какой-нибудь популярный сервер — в нашем примере это Яндекс Почта.

Короткий алгоритм действий:

  1. включаем в веб-интерфейсе яндекс почты IMAP, авторизация по паролю приложений
  2. создаем пароль приложений (да, нужно)
  3. настраваем SMTP модуль (заработало на последней DEV версии для д7 — https://ftp. drupal.org/files/projects/smtp-7.x-1.x-dev.tar.gz)
  4. и еще важно — email отправителя должен быть тем же, соответственно в настройках сайта и вебформы указываем этот же емейл, которым авторизуемся на smtp-сервере
  5. на некоторых хостинга порты для SMTP закрыты — запросите в поддержке, чтобы открыли, или смените хостинг.

Ну а далее подробно, вдруг у вас ошибка на каком-то из шагов возникла.

Настройка SMTP на стороне Яндекса

Сначала включаем доступ к ящику по imap: Все настройки — Почтовые программы:

Способ авторизации по IMAP Пароли приложений и OAuth-токены

Далее создаем пароль приложений

  1. Откройте страницу Управление аккаунтом.

  2. В разделе Пароли и авторизация выберите Включить пароли приложений. Подтвердите действие и нажмите Создать новый пароль.

    Если вы включили двухфакторную аутентификацию, просто нажмите Создать пароль приложения.

  3. Выберите тип приложения Почта.

  4. Придумайте название пароля, например укажите название приложения, для которого вы создаете пароль. С этим названием пароль будет отображаться в списке.

  5. Нажмите кнопку Создать. Пароль приложения отобразится во всплывающем окне.

Созданный пароль можно увидеть только один раз! Сразу его запишите. Если вы ввели его неправильно и закрыли окно, удалите текущий пароль и создайте новый.

Настройка модуля SMTP в Drupal

В данном примере используется Drupal 7.

Данные для настройки исходящей почты:

Еще немного

Отправителем по умолчанию используется почта, указанная в Информации о сайте (/admin/config/system/site-information). И очень важно, чтобы она была той же, который мы авторизуемся на сервере!

Если все сделано правильно, вы можете отправить тестовое письмо прямо со страницы настроек SMTP. Даже на mail.ru приходят)

Решение проблем с отправкой почты через Яндекс в Drupal SMTP

Не верный пароль — 

Error: authentication failed: Invalid user or passwor
SMTP -> get_lines(): $str is "535 5. 7.8 Error: authentication failed: Invalid user or password! 1658318354-OLAk1iQvF2-xDj8c0BO "
SMTP -> get_lines(): $data was "535 5.7.8 Error: authentication failed: Invalid user or password! 1658318354-OLAk1iQvF2-xDj8c0BO "
SMTP -> ERROR: Password not accepted from server: 535 5.7.8 Error: authentication failed: Invalid user or password! 1658318354-OLAk1iQvF2-xDj8c0BO

Если увидели в логах что-то вроде Error: authentication failed: Invalid user or password!  — вероятно вы пытались использовать пароль входа в почту. Нужен именно ПАРОЛЬ ПРИЛОЖЕНИЙ!!! 

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

Адрес отправителя не принадлежит пользователю — Sender address rejected: not owned by auth user

SMTP -> get_lines(): $str is "553 5.7.1 Sender address rejected: not owned by auth user. 1658318601-iuqYYKYgIL-3LiSoi8c "
SMTP -> get_lines(): $data was "553 5.7.1 Sender address rejected: not owned by auth user.  1658318601-iuqYYKYgIL-3LiSoi8c "
SMTP -> FROM SERVER: 553 5.7.1 Sender address rejected: not owned by auth user. 1658318601-iuqYYKYgIL-3LiSoi8c

Это означает, что отправитель не соответствует авторизованному на сервере логину. В друпал 7 по умолчанию он настраивается /admin/config/system/site-information

Кстати, в настройках модуля Webform то же есть — будьте внимательны — /admin/config/content/webform

Теги

Drupal

Другие программы — Mail. Yardım

Яндекс.Почта Destek Ekibi İngilizce olarak yanıt verir. Mümkünse siz de Bize sorularınızı İngilizce olarak gönderin, böylece daha hızlı çözüm uretebilir ve size yardimcı olabiliriz.

  1. Протокол IMAP для программ с указанием
  2. Протокол POP3 для программ с указанием
  3. Gönderimi sadece Протокол SMTP с указанием

Стандарт IMAP, POP3 и SMTP-протокола, которые можно использовать для обмена сообщениями по электронной почте.

IMAP-протокол kullanıldığında e-post Programı sunucu ile eşitlenir ve e-posta kutunuzun klasör yapısını kaydeder. E-posta programı üzerinden gönderdiğiniz e-postalar sadece bilgisayarda değil sunucuda da kaydedilecektir. Bu e-postalara farklı cihazlardan erişebileceksiniz.

  1. Яндекс.Почта объявляет «Электронная почта программы» bölümünü açın.

  2. imap.yandex.ru Sunucusundan Протокол IMAP Göre ve Uygulama şifreleri ve OAuth belirteçleri opsiyonlarını seçin.

  3. Değişiklikleri kaydedin.

Нет. E-postalarınızın silinmelerinden sonra bir süre daha e-posta programınızda saklanmasını istiyorsanız IMAP’de silinmiş olarak işaretlenmiş e-postaların otomatik olarak silinmesini devre dışı bırak opsiyonunu seçin. E-posta programını yeniden başlattıktan hemen sonra iletilerin e-posta kutusundan kalıcı olarak silineceklerini unutmayın.

  1. Hesap yönetimi sayfasını açın.

  2. Şifreler ve Yetkilendirme bölümünde Uygulama şifrelerini etkinleştir’i seçin. İşlemi onaylayın ve Yeni şifre oluştur’a tıklayın.

    İki faktörlü kimlik doğrulamayı etkinleştirdiyseniz, sadece Uygulama şifresi oluştur’a tıklayın.

  3. Mail uygulama türünü seçin.

  4. Şifre oluşturduğunuz uygulama adını belirttiğiniz gibi bir şifre adı düşünün. Şifre bu adla liste görüntülenecektir.

  5. Oluştur butonuna tıklayın. Uygulama şifresi açılır-pencerede görüntülenir.

Сынырлама. Oluşturulan şifre yalnızca bir kez görüntülenebilir. Yanlış girdiyseniz ve pencereyi kapattıysanız, geçerli şifreyi silip yenisini oluşturun.

Гелен е-почта
  • е-почта sunucusunun адреси — imap.yandex.com.tr ;

  • bağlantı güvenliği — SSL;

  • порт — 993.

Gönderilen e-posta
  • e-posta sunucusunun адрес — smtp. yandex.com.tr ;

  • bağlantı güvenliği — SSL;

  • порт — 465.

шифресини гирин. Önceki adımda e-posta uygulaması için oluşturduğunuz şifreyi kullanın. «[email protected]» türünde olan bir e-posta hesabından e-postanın alınmasını ayarlıyorsanız, «@» işaretinden önce gelen kısım kullanıcı adı olarak kabul edilecektir. Kurumlar için Yandex 360 kullanıyorsanız kullanıcı adı olarak e-posta hesabınızın tam adresini belirtmelisiniz.

Уяри. Yandex’te электронной почты göndermek için интернет sağlayıcınızın электронной почты sunucusunu kullanmanız önerilmez.

IMAP protokolün desteği, e-posta programında ilk defa giriş yaptığınızda otomatik olarak etkinleştirilecektir.

Протокол POP3 kullanıldığında, Tüm ayarlar → E-posta programları menus belirteceğiniz klasörlerden tüm e-postalar e-posta programı tarafından bilgisayarınıza Gelen Kutusu klasörüne kaydedile cektir. İhtiyaç duyduğunuzda, e-postalari istediğiniz klasörlere otomatik olarak taşımak için e-posta programında filtreler ayarlayabilirsiniz. Gönderdiğiniz e-postalar sadece bilgisayarınızda depolanacaktır.

  1. Яндекс.Почта сообщает о программе «Электронная почта».

  2. Протокол POP3 gore pop.yandex.ru sunucusundan seçeneğini etkinleştirin.

  3. Değişiklikleri kaydedin.

Нет. Протокол Sunucudan POP3 с использованием электронной почты, независимой от Яндекс.Почты. Электронная почта. E-postalari e-posta programı yardımıyla silmek istiyorsanız IMAP протокол kullanın.

  1. Hesap yönetimi sayfasını açın.

  2. Şifreler ve Yetkilendirme bölümünde Uygulama şifrelerini etkinleştir’i seçin. İşlemi onaylayın ve Yeni şifre oluştur’a tıklayın.

    İki faktörlü kimlik doğrulamayı etkinleştirdiyseniz, sadece Uygulama şifresi oluştur’a tıklayın.

  3. Mail uygulama türünü seçin.

  4. Şifre oluşturduğunuz uygulama adını belirttiğiniz gibi bir şifre adı düşünün. Şifre bu adla liste görüntülenecektir.

  5. Oluştur butonuna tıklayın. Uygulama şifresi açılır-pencerede görüntülenir.

Сынырлама. Oluşturulan şifre yalnızca bir kez görüntülenebilir. Yanlış girdiyseniz ve pencereyi kapattıysanız, geçerli şifreyi silip yenisini oluşturun.

Гелен е-почта
  • е-почта sunucusunun адреси — pop.yandex.com.tr ;

  • bağlantı güvenliği — SSL;

  • порт — 995.

Gönderilen e-posta
  • e-posta sunucusunun adresi — smtp.yandex.com.tr ;

  • bağlantı güvenliği — SSL;

  • порт — 465.

шифресини гирин. Önceki adımda e-posta uygulaması için oluşturduğunuz şifreyi kullanın. «[email protected]» türünde olan bir e-posta hesabından e-postanın alınmasını ayarlıyorsanız, «@» işaretinden önce gelen kısım kullanıcı adı olarak kabul edilecektir. Kurumlar için Yandex 360 kullanıyorsanız kullanıcı adı olarak e-posta hesabınızın tam adresini belirtmelisiniz.

Уяри. Yandex’te электронной почты göndermek için интернет sağlayıcınızın электронной почты sunucusunu kullanmanız önerilmez.

POP3 protokolüne göre Spam dahil her klasörden e-postanın alınmasını ayarlayabilirsiniz. Bunun için Tüm ayarlar → E-posta programları menusünü açın ve istediğiniz klasörleri işaretleyin.

E-posta kutusunun içeriği e-posta programları tarafından indirilirken, varsayılan olarak e-postalar okundu olarak işaretlenmez. Aldığınız e-postaları okundu olarak işaretlemek istiyorsanız ilgili seçeneği etkinleştirin.

Tek bir SMTP protokolünün ayarlanması genellikle sadece e-postalari gönderen fakat onları kabul etmeyen cihazlarda gereklidir.

  1. Яндекс.Почта объявляет «Электронная почта программы» bölümünü açın.

  2. imap.yandex.ru Sunucusundan Протокол IMAP Göre ve Uygulama şifreleri ve OAuth belirteçleri opsiyonlarını seçin.

  3. Değişiklikleri kaydedin.

  1. Hesap yönetimi sayfasını açın.

  2. Şifreler ve Yetkilendirme bölümünde Uygulama şifrelerini etkinleştir’i seçin. İşlemi onaylayın ve Yeni şifre oluştur’a tıklayın.

    İki faktörlü kimlik doğrulamayı etkinleştirdiyseniz, sadece Uygulama şifresi oluştur’a tıklayın.

  3. Mail uygulama türünü seçin.

  4. Şifre oluşturduğunuz uygulama adını belirttiğiniz gibi bir şifre adı düşünün. Şifre bu adla liste görüntülenecektir.

  5. Oluştur butonuna tıklayın. Uygulama şifresi açılır-pencerede görüntülenir.

Сынырлама. Oluşturulan şifre yalnızca bir kez görüntülenebilir. Yanlış girdiyseniz ve pencereyi kapattıysanız, geçerli şifreyi silip yenisini oluşturun.

  • е-почта sunucusunun адреси — smtp.yandex.com.tr ;

  • bağlantı güvenliği — SSL;

  • порт — 465.

Önceki adımda e-posta uygulaması için oluşturduğunuz şifreyi kullanın.

электронная почта — Передача почтовых запросов ИЗ mail.ourhost.net В pop/smtp/imap.otherhost.net

спросил

Изменено 10 лет, 2 месяца назад

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

Проблемы с внутренним почтовым сервером и желание перейти на внешний почтовый провайдер (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; на самом деле вам не следует посещать каждую машину.

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

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