Отправка почты от Postfix через почтовый сервер Яндекса
Обновлено: Опубликовано:
Тематические термины: Postfix, SMTP.
В данной статье мы разберем ситуацию, при которой есть необходимость отправлять почту со своего сервера на Postfix, но через почту яндекса (использовать его в качестве smarthost). При этом, необходимо настроить возможность использования нескольких учетных записей. Инструкция подойдет под любой дистрибутив системы UNIX, на котором можно установить Postfix. Почтовая система Яндекса используется лишь для примера — по сути, по данному принципу можно настроить и пересылку почты через другие почтовые системы.
Требования
Нам необходимо иметь почтовые учетные записи в Яндексе. При отправке писем мы будем использовать правила аутентификации на серверах последнего с использованием данных учетных записей.
Также нам нужен пакет cyrus-sasl-plain. В зависимости от дистрибутива Linux действия будут отличаться.
а) на сервере CentOS:
yum install cyrus-sasl-plain
б) на сервере Ubuntu:
apt install cyrus-imapd cyrus-clients cyrus-doc cyrus-admin sasl2-bin
После установки разрешаем автозапуск Postfix:
Настройка Postfix
Открываем конфигурационный файл postfix:
vi /etc/postfix/main.cf
Добавим следующие строки:
relayhost =
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/private/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_type = cyrus
smtp_sasl_mechanism_filter = login
smtp_sender_dependent_authentication = yes
sender_dependent_relayhost_maps = hash:/etc/postfix/private/sender_relay
smtp_tls_CAfile = /etc/postfix/ca.pem
smtp_use_tls = yes
* где:
- relayhost — сервер, через который нужно отправлять почту. Мы будем использовать отдельные правила, поэтому оставляем данный параметр с пустым значением.
- smtp_sasl_auth_enable — включение аутентификации на стороне клиента.
- smtp_sasl_password_maps — указывает на файл, в котором хранится база связок логин/пароль.
- smtp_sasl_security_options — опции SASL. noanonymous указывает на запрет анонимной аутентификации.
- smtp_sasl_type — задает плагин SASL для аутентификации.
- smtp_sasl_mechanism_filter — перечисляет механизмы проверки пользователя и пароля.
- smtp_sender_dependent_authentication — включает зависящую от отправителя аутентификацию, отключает кэширование SMTP-соединения.
- sender_dependent_relayhost_maps — указание на список адресов и почтовых серверов, через которые нужно отправлять письма на эти адреса.
- smtp_tls_CAfile — файл с сертификатом Яндекса.
- smtp_use_tls — указывает, использовать ли TLS для SMTP.
Создаем каталог для конфигов:
mkdir /etc/postfix/private
Создаем файл с правилами пересылки сообщений:
vi /etc/postfix/private/sender_relay
@yandex.ru smtp.yandex.ru
* в данном примере мы все сообщения, отправляемые от домена yandex.ru переправляем через сервер smtp.yandex.ru.
Создаем файл с настройкой привязки логинов и паролей:
vi /etc/postfix/private/sasl_passwd
[email protected] [email protected]:password1
[email protected] [email protected]:password2
* в данном примере мы создаем 2 учетные записи для аутентификации на яндексе. При отправке писем от [email protected] необходимо авторизоваться на сервере яндекса от этой же учетной записи с паролем password1
Создаем карты для данных файлов:
postmap /etc/postfix/private/{sasl_passwd,sender_relay}
Получаем сертификат от Яндекса, для этого выполняем запрос:
openssl s_client -starttls smtp -crlf -connect smtp.yandex.ru:25
… на экран будет выведена различная информация — нам нужна вся, что заключена между ——BEGIN CERTIFICATE—— и ——END CERTIFICATE——. Копируем ее и создаем файл сертификата:
vi /etc/postfix/ca.pem
——BEGIN CERTIFICATE——
MIIGazCCBVOgAwIBAgIQcUU9mJXW4OUs5Gf0JfLtsjANBgkqhkiG9w0BAQsFADBf
…
nRG0DfdqYIuPGApFORYe
——END CERTIFICATE——
Перезапускаем Postfix:
systemctl restart postfix
Обратите внимание на 2 момента:
2) отправка сообщения должна идти строго от того пользователя, под которым идет авторизация на yandex. В противном случае, подключение не пройдет проверку и завершится ошибкой.
Проверка
Для проверки можно использовать консольную команду mail.
Если используем Red Hat / CentOS
yum install mailx
После отправляем письмо
echo «Test text» | mail -s «Test title» -r [email protected] [email protected]
* в данном примере мы отправляем письмо от почты root@yandex.ru на ящик [email protected].
Если используем Ubuntu / Debian
apt-get install mailutils
После можно отправлять письмо:
echo «Test text» | mail -s «Test title» [email protected] -aFrom:[email protected]
* в данном примере мы отправляем письмо от ящика [email protected] на почту [email protected].
Результат
В итоге на отправляемый ящик электронной почты должно прийти письмо от нашего адреса с доменом yandex. ru. Если посмотреть в заголовки, оно должно было быть отправлено через серверы Яндекса:
Была ли полезна вам эта инструкция?
Да Нет
Бесплатный SMTP сервер — Настройка СМТП для Gmail, Yahoo, Hotmail, Yandex, Mail.ru – Справка ePochta Mailer
SMTP сервер нужен:
- чтобы проверять настройки и выдавать разрешение на отправку почты с компьютера отправителя;
- чтобы доставлять почту получателю и сообщать об ошибке отправке при наличии таковой.
В зависимости от количества сообщений, которые вы будете отправлять посредством ePochta Mailer, следует выбрать оптимальный SMTP сервер.
Настройка бесплатного SMTP сервера происходит в меню «Настройки» -> «Мастер SMTP» в разделе «Использовать внешний SMTP»
По умолчанию в программе сохранены и настроены предустановленные SMTP сервера для наиболее популярных почтовых клиентов. Поэтому вы можете выбрать один из предустановленных, либо добавить свой SMTP сервер, вручную указав все настройки.
Настройки предустановленного сервера всегда можно изменить.
Далее рассматривается создание и настройка SMTP серверов с нуля (пункт «Свой SMTP сервер»).
Как настроить SMTP для Gmail
Важно! У вас должен быть зарегистрирован аккаунт в почтовом сервисе Gmail.com
Запустив ePochta Mailer и перейдя по пунктам «Настройки» -> «Мастер SMTP» -> «Использовать внешний SMTP» -> «Добавить свой SMTP сервер», вы увидите окно для настройки параметров SMTP сервера.
Заполняем обязательные параметры:
1) SMTP сервер для gmail прописывается как smtp.gmail.com
2) Далее укажите порт. Его значение напрямую связано с шифрованием, которое вы выберете. Вам нужен 465 порт для SSL шифрования и 587 порт для шифрования TSL.
3) Gmail SMTP сервер требует авторизацию, поэтому в этом пункте стоит выбрать «ESMTP-RFC 2554», что укажет серверу механизм идентификации отправителя и гарантирует дополнительный уровень безопасности.
4) Шифрование обязательно. Отталкиваясь от указанного порта, выбирайте тип шифрования.
5) Логин/пароль — укажите свой личный логин в виде [email protected] и пароль от зарегистрированного аккаунта в gmail.com
6) POP сервер — это сервер для приема почты в сторонних почтовых клиентах типа The Bat! Outlook, Thunderbird и т.д.
Нас интересует отправка рассылок, поэтому данное поле можно оставить пустым.
Но всё же, если вы решили его настроить, следует изменить значение Авторизации на POP before SMTP и прописать параметры: pop.gmail.com : 995
7) Email отправителя — это адрес, что получатель будет видеть в строке «От кого». Убедитесь, что указываете корректный действующий электронный адрес.
8) Так как gmail.com имеет ограничение на количество отправленных писем — не более 100 писем в сутки на уникальные email адреса — важно установить лимит на отправку. Для первых массовых рассылок можно даже снизить значение на 20-30 % меньше доступного лимита.
Лимит по скорости — 20 писем в час.
Как настроить SMTP для Yahoo
Важно! У вас должен быть зарегистрирован аккаунт в почтовом сервисе Yahoo.com
Запустив ePochta Mailer и перейдя по пунктам «Настройки» -> «Мастер SMTP» -> «Использовать внешний SMTP» -> «Добавить свой SMTP сервер», вы увидите окно для настройки параметров SMTP сервера.
Заполняем обязательные параметры:
SMTP сервер для yahoo прописывается как smtp.mail.yahoo.com
Порт: 465 (для SSL шифрования) — рекомендуется
Альтернативный порт: 587 (для TLS шифрования).
Yahoo SMTP сервер требует авторизацию, поэтому в этом пункте стоит выбрать «ESMTP-RFC 2554», что укажет серверу механизм идентификации отправителя и гарантирует дополнительный уровень безопасности.
Шифрование обязательно. Отталкиваясь от указанного порта, выбирайте тип шифрования.
Логин/пароль — укажите свой личный логин в виде [email protected] и пароль от этого зарегистрированного аккаунта.
POP сервер — это сервер для приема почты в сторонних почтовых клиентах типа The Bat! Outlook, Thunderbird и т.д.
Нас интересует отправка рассылок, поэтому данное поле можно оставить пустым.
Но всё же, если вы решили его настроить, следует изменить значение Авторизации на POP before SMTP и прописать параметры: pop.mail.yahoo.com:995
Email отправителя — это адрес, что получатель будет видеть в строке «От кого». Убедитесь, что указываете корректный действующий электронный адрес.
Так как yahoo.com имеет ограничение на количество отправленных писем — не более 100 писем в сутки на уникальные email адреса — важно установить лимит на отправку.
Для первых массовых рассылок можно даже снизить значение на 20-30 % меньше доступного лимита.
Лимит по скорости — 100 писем в час.
Как настроить SMTP для Hotmail
Важно! У вас должен быть зарегистрирован аккаунт в @hotmail. com или @live.com.
Запустив ePochta Mailer и перейдя по пунктам «Настройки» -> «Мастер SMTP» -> «Использовать внешний SMTP» -> «Добавить свой SMTP сервер», вы увидите окно для настройки параметров SMTP сервера.
Заполняем обязательные параметры:
SMTP сервер для hotmail.com прописывается как smtp.live.com
Значение параметра «порт» для smtp.live.com
Порт: 25
Важно: Если вы видите, что порт 25 не работает и заблокирован, можете использовать SMTP порт 587 с включенным SSL шифрованием.
Hotmail SMTP сервер требует авторизацию, поэтому в этом пункте стоит выбрать«ESMTP-RFC 2554», что укажет серверу механизм идентификации отправителя и гарантирует дополнительный уровень безопасности.
Отталкиваясь от указанного порта, выбирайте тип шифрования.
Логин/пароль — укажите свой личный логин в виде [email protected] и пароль от этого зарегистрированного аккаунта.
POP сервер — это сервер для приема почты в сторонних почтовых клиентах типа The Bat! Outlook, Thunderbird и т.д.
Нас интересует отправка рассылок, поэтому данное поле можно оставить пустым.
Но всё же, если вы решили его настроить, следует изменить значение Авторизации на POP before SMTP и прописать параметры: pop3.live.com:995
Email отправителя — это адрес, что получатель будет видеть в строке «От кого». Убедитесь, что указываете корректный действующий электронный адрес.
Так как hotmail.com имеет ограничение на количество отправленных писем — не более 200 писем в сутки на уникальные email адреса — важно установить лимит на отправку.
Для первых массовых рассылок можно даже снизить значение на 20-30 % меньше доступного лимита.
Лимит по скорости — 28 писем в час.
Как настроить SMTP для Yandex
Важно! У вас должен быть зарегистрирован аккаунт в @yandex.ru.
Запустив ePochta Mailer и перейдя по пунктам «Настройки» -> «Мастер SMTP» -> «Использовать внешний SMTP» -> «Добавить свой SMTP сервер», вы увидите окно для настройки параметров SMTP сервера.
Заполняем обязательные параметры:
SMTP сервер для yandex.ru прописывается как smtp.yandex.ru
Укажите порт. Его значение напрямую связано с шифрованием, которое вы выберете.
Порт с шифрованием: 465. Порт без шифрования: 25, 587
Yandex SMTP сервер требует авторизацию, поэтому в этом пункте рекомендуется выбрать «ESMTP-RFC 2554», что укажет серверу механизм идентификации отправителя и гарантирует дополнительный уровень безопасности.
Отталкиваясь от указанного порта, выбирайте тип шифрования.
Логин/пароль — укажите свой личный логин в виде [email protected] и пароль от этого зарегистрированного аккаунта.
POP сервер — это сервер для приема почты в сторонних почтовых клиентах типа The Bat! Outlook, Thunderbird и т.д.
Нас интересует отправка рассылок, поэтому данное поле можно оставить пустым.
Но всё же, если вы решили его настроить, следует изменить значение Авторизации на POP before SMTP и прописать параметры: pop. yandex.ru:995
Email отправителя — это адрес, что получатель будет видеть в строке «От кого». Убедитесь, что указываете корректный действующий электронный адрес.
Так как yandex.ru имеет ограничение на количество отправленных писем — не более 150 писем в сутки на уникальные email адреса — важно установить лимит на отправку.
Для первых массовых рассылок можно даже снизить значение на 20-30 % меньше доступного лимита.
Лимит по скорости — 6 писем в час.
Как настроить SMTP для Mail.ru
Важно! У вас должен быть зарегистрирован аккаунт в @mail.ru ( @list.ru; @inbox.ru; @bk.ru;).
Запустив ePochta Mailer и перейдя по пунктам «Настройки» -> «Мастер SMTP» -> «Использовать внешний SMTP» -> «Добавить свой SMTP сервер», вы увидите окно для настройки параметров SMTP сервера.
Заполняем обязательные параметры:
SMTP сервер для mail.ru прописывается как smtp.mail.ru (smtp. list.ru; smtp.inbox.ru; smtp.bk.ru;)
Укажите порт. Его значение напрямую связано с шифрованием, которое вы выберете.
Порт с шифрованием: 465. Порт без шифрования: 25, 587
Mail.ru SMTP сервер требует авторизацию, поэтому в этом пункте рекомендуется выбрать «ESMTP-RFC 2554», что укажет серверу механизм идентификации отправителя и гарантирует дополнительный уровень безопасности.
Отталкиваясь от указанного порта, выбирайте тип шифрования.
Логин/пароль — укажите свой личный логин в виде [email protected] ([email protected]; [email protected]; [email protected];) и пароль от этого зарегистрированного аккаунта.
POP сервер — это сервер для приема почты в сторонних почтовых клиентах типа The Bat! Outlook, Thunderbird и т.д.
Нас интересует отправка рассылок, поэтому данное поле можно оставить пустым.
Но всё же, если вы решили его настроить, следует изменить значение Авторизации на POP before SMTP и прописать параметры: pop. mail.ru (pop.list.ru; pop.inbox.ru; pop.bk.ru;):110
Email отправителя — это адрес, что получатель будет видеть в строке «От кого». Убедитесь, что указываете корректный действующий электронный адрес.
Так как mail.ru имеет ограничение на количество отправленных писем — не более 1 письма в минуту на уникальные email адреса — важно установить лимит на отправку.
Для первых массовых рассылок можно даже снизить значение на 20-30 % меньше доступного лимита.
Лимит по скорости — 60 писем в час.
Как найти SMTP сервер?
SMTP сервер нужен для того, чтобы проверять настройки и выдавать разрешение на отправку почты с компьютера отправителя, чтобы доставлять почту получателю и сообщать об ошибке отправке при наличии таковой.
В зависимости от количества отправляемых сообщений, выбирается оптимальный SMTP сервер.
SMTP вашего Интернет-провайдера
С условиями вашего Интернет-провайдера ознакомьтесь на официальном сайте или обратитесь с вопросами в их службу технической поддержки. Интернет-провайдеры, как правило, ограничивают возможности отправки e-mail сообщений:
Бесплатные email-сервисы с поддержкой SMTP
Многие email-сервисы поддерживают отправку по SMTP протоколу, так что вы сможете использовать программу ePochta Mailer для отправки рассылок. Но, как и у Интернет-провайдеров, у данных серверов есть ограничения на количество отправляемых сообщений.
Наиболее популярные сервисы:
- mail.ru 1сообщение в минуту
- yandex.ru 150 сообщений в день
- meta.ua 200 сообщений в день
- ukr.net 250 сообщений в день
- rambler.ru 200 сообщений в час
- gmail. com 100 сообщений в день
Программы ePochta Studio и ePochta Mailer могут проводить рассылку через неограниченное количество SMTP-аккаунтов, при этом отправка может происходить в порядке очереди: первое сообщение отправляется через сервер1, второе — через сервер2 и т. д. Таким образом количество указанных вами серверов может неограничиваться, и программа будет производить отправку, пока не исчерпает лимит e-mail сервисов.
SMTP вашего хостинга
При наличии собственного сайта, вы можете проводить отправку через SMTP-сервер своего сайта. Если вы не уверены в качестве своего списка подписчиков, и возможны жалобы на рассылку, лучше купить отдельный домен и хостинг у другой компании, чтобы не возникло проблем с основным сайтом
Коммерческие SMTP-сервисы
Если вы хотите обеспечить высокий уровень доставки сообщений, не помеченных, как «спам», но при этом не имеете определенных технических знаний, тогда коммерческие SMTP-сервисы — идеальный вариант. От вас требуется только подсчитать нужное количество сообщений и выбрать тарифный план по оплате.
Виртуальный сервер (VPS)
Виртуальный сервер(VPS или VDS) — это хорошее решение для отправки рассылок без ограничений. Но вам потребуются некоторые технические знания: например, как настроить SMTP-сервер. Собственный IP-адрес дает вам преимущества, и хостинговая компания, как правило, не вмешивается в то, что вы делаете.
Независимо от выбранного вами варианта, ePochta Studio и ePochta Mailer обеспечат вам удобную и качественную рассылку.
Дополнительные разделы:
- Планирование отправки сообщений
- Настройки программы
- Сообщения не хотят отправляться вообще
- Сообщения отправляются, но не доходят
debian — Redmine не отправляет электронные письма
На моем сервере Debian установлен Redmine 1. 4.1. Configuration.yaml содержит следующую продукцию
: электронная почта_доставка: delivery_method: :SMTP smtp_settings: тлс: правда enable_starttls_auto: правда адрес: "smtp.yandex.ru" порт: 465 домен: "my.domain.com" аутентификация: :plain user_name: "Имя пользователя" пароль: "Пароль"
Когда Redmine пытается отправить электронное письмо, я вижу это в журналах nginx
[информация] 23788#0: *1 клиент преждевременно закрыл соединение, поэтому восходящее соединение также закрывается при отправке запроса восходящему, клиент: 37.57.17.197, сервер: redmine.my.domain.com, запрос: "GET /admin /test_email HTTP/1.1", восходящий поток: "passenger:unix:/passenger_helper_server:", хост: "redmine.my.domain.com", реферер: "http://redmine.my.domain.com/settings"
Я пробовал разные smtp-серверы, но результаты были одинаковыми.
Я применил эти правила к iptables, но это не помогло.
iptables -A INPUT -p tcp --dport 465 -m state --state NEW, ESTABLISHED -j ACCEPT iptables -A ВЫВОД -p tcp --sport 465 -m состояние --state УСТАНОВЛЕНО -j ПРИНЯТЬ
- электронная почта
- debian
- redmine
Сначала проверьте, открыт ли порт (при условии, что smtp. yandex.ru является вашим SMTP-сервером):
telnet smtp.yandex.ru 465
Тогда я предлагаю вам проверить проблему, используя tcpdump
:
Первый этап, проверьте связь между серверами (используйте -i eth0
при необходимости):
sudo tcpdump -nl хост smtp.yandex.ru и порт 465
Затем, если удаленный хост отвечает и есть связь TCP/IP, проверьте фактические данные, полученные от сервера (если вы обнаружите какую-либо ошибку).
sudo tcpdump -nl -s1500 -w- src host smtp.yandex.ru | струны
Если это не поможет, обновите свой вопрос, добавив более подробную информацию, используя вышеуказанные методы.
Для меня изменение tls: true на ssl: true
и простой вход в систему устраняют проблему:
производство: электронная почта_доставка: delivery_method: :SMTP smtp_settings: SSL: правда enable_starttls_auto: правда адрес: "smtp.yandex.ru" порт: 465 домен: "my. domain.com" аутентификация: :логин user_name: "Имя пользователя" пароль: "Пароль"
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя электронную почту и пароль
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания, политикой конфиденциальности и политикой использования файлов cookie
Резьбовой режим [Почта] SMTP не работает |
Сообщений: 2 #1 2020-04-12, 19:15 Привет! Сегодня пытался настроить автоматическую SMTP-почту без ответа на своем форуме, но она не работает и выдает ошибки. Мои настройки: Имя хоста: smtp.yandex.com Вот ошибки, которые появляются в разделе «Инструменты и обслуживание»: С шифрованием SSL: «Невозможно подключиться к почтовому серверу с указанными данными. Причина: 0:» Я также использую Cloudflare, но я отключил защиту для mx и других вещей, связанных с почтой. Как я могу заставить эту штуку работать? Я могу успешно подключиться к Яндекс SMTP и IMAP на настольной почте, но MyBB не будет отправлять электронные письма после ввода данных. Находить Отвечать Сообщений: 798 #2 2020-04-13, 09:06 Привет, (12. 04.2020, 19:15)CoolSummer300 Написал: Пользователь SMTP: [email protected] Как говорит Яндекс: Цитата: Для доступа к почтовому серверу введите логин и пароль Яндекса (или используйте пароль приложения, если у вас включена двухэтапная аутентификация). Если вы настраиваете доставку электронной почты из почтового ящика, такого как «[email protected]», ваше имя пользователя — это первая часть адреса перед знаком «@». Если вы используете Яндекс.Почту для домена, в качестве логина введите свой полный адрес электронной почты. Я думаю, что «нет ответа» это не ваш логин пользователя, а может быть и причина ошибки. Пожалуйста, проверьте в общих настройках адрес возврата/отправителя, если он тоже совпадает. Находить Отвечать |
« Следующая самая старая | Следующая новинка » |