Установка и настройка Postfix как релей yandex

Содержание:

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

Установка необходимых пакетов

sudo apt-get install postfix mutt

Настройка PostFix

Для настройки PostFix, как релей yandex, откроем файл /etc/postfix/main.cf для редактирования:

sudo nano /etc/postfix/main.cf

Удалим все его содержимое и вставим следующий текст

########################################################
## Основные параметры
smtpd_banner = $myhostname ESMTP server
biff = no
# Максимальный размер письма. По умолчанию всего 10Mb
message_size_limit = 204800000
# Основные параметры хоста
myhostname = ns1.dom
mydestination = $myhostname, ns1.dom, localhost.ns1.dom, localhost
myorigin = /etc/mailname
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
virtual_mailbox_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
append_dot_mydomain = no
readme_directory = no
# TLS параметры
smtpd_use_tls=yes
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
# информация о включении SSL в SMTP-клиенте.
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
relayhost =
# SASL параметры
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
sender_canonical_maps = hash:/etc/postfix/private/canonical
###########################################################
## Ограничения и запреты
# Запретить ETRN команду
smtpd_etrn_restrictions = reject
# Запретить VRFY команду
disable_vrfy_command = yes
# Требовать наличие EHLO (HELO) команды
smtpd_helo_required = yes
# Всегда отклонять письма для всех неизвестных ящиков
smtpd_reject_unlisted_recipient = yes
# Ограничения на клиента - принимаем только если есть PTR (не жёсткий запрет)
smtpd_client_restrictions =
 permit_mynetworks
 reject_unknown_reverse_client_hostname
 permit
# Ограничения на HELO. Отклоняем письма от всех хостов, которые даже представиться не могут
smtpd_helo_restrictions =
 permit_mynetworks
 reject_invalid_helo_hostname
 reject_non_fqdn_helo_hostname
 permit
# Ограничения на MAIL FROM. Отклоняем все письма, отправитель которых предоставил невалидный адрес
smtpd_sender_restrictions =
 reject_non_fqdn_sender
 reject_unknown_sender_domain
 permit
# Ограничения на RCPT TO. Принимаем только для известных нам адресов
smtpd_recipient_restrictions =
 reject_non_fqdn_recipient
 reject_unlisted_recipient
 permit_mynetworks
 reject_unauth_destination
 permit
# Ограничения на данные. Не принимаем в случае некорректной передачи
smtpd_data_restrictions =
 reject_unauth_pipelining

замните ns1.dom на ваше доменное имя.

Далее необходимо создать папку /etc/postfix/private

sudo mkdir /etc/postfix/private

Перейдем в папку и создаем три файла для Postfix:

cd /etc/postfix/private && sudo touch canonical sender_relay sasl_passwd

Откроем файл canonical и добавим следующий текст:

sudo nano canonical

Содержимое:

@yandex.ru	user@yandex.ru

где

user@yandex.ru — Ваша почта на Яндексе

Далее откроем файл sender_relay:

sudo nano sender_relay

Содержимое:

@yandex.ru	smtp.yandex.ru

И наконец:

sudo nano sasl_passwd

С содержимым:

[smtp.yandex.ru]	user@yandex.ru:password

где
user@yandex.ru — Ваша почта на Яндексе,
password — Ваш пароль от ящика.

Запускаем созданные файлы в работу:

sudo postmap /etc/postfix/private/*

Также необходимо создать файл aliases:

sudo touch /etc/aliases

В него необходимо занести записи сопоставлений пользователей и почты для них. У меня в нем находятся следующие записи:

postmaster: root
root: user@ваша-почта-на-яндекс.ru

Данная запись будет отправлять всю почту предназначенную для пользователя root на вашу почту от яндекса.

Чтобы изменения вступили в силу, необходимо обновить базу алиасов командой:

cd /etc sudo newaliases

Перезапускаем PostFix:

sudo service postfix restart

Отправляем почту

Все, можно проверять работу с помощью, например, mutt. Отправим тестовое сообщение на наш e-mail

echo "test" | mutt -s "test" user@yandex.ru

user@yandex.ru — ваш яшик на yandex

Чтобы отправить файл, надо добавить ключ -a затем сам файл:

echo "test" | mutt -s "test" user@yandex.ru -a /home/user/file.txt

Проверить настройки можно также вот такой командой (без установки mutt)

echo test | sendmail -v почта@куда_отсылаем

Если что-то не получается, курим логи:

tail -f /var/log/mail.log
Если есть вопросы, то пишем в комментариях и не забываем проголосовать за статью.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Установка и настройка Postfix как релей yandex
5 (100%) 2 votes

3
Оставить комментарий

avatar
2 Цепочка комментария
1 Ответы по цепочке
0 Последователи
 
Популярнейший комментарий
Цепочка актуального комментария
3 Авторы комментариев
SYSadminMurzDDR Авторы недавних комментариев
  Подписаться  
новее старее большинство голосов
Уведомление о
Murz
Гость
Murz

Настроил по вашей инструкции, но что-то Яндекс ругается:

relay=smtp.yandex.ru[2a02:6b8::38]:25, delay=2.7, delays=0.05/0.02/2.6/0.05, dsn=5.5.4, status=bounced (host smtp.yandex.ru[2a02:6b8::38] said: 503 5.5.4 Error: send AUTH command first. (in reply to MAIL FROM command))

В чём может быть проблема? Как отдебажить причину более подробно?

DDR
Гость
DDR

Спасибо, настроил по вашей статье и вот чудо заработало почта. А то уже 2 дня мучаюсь с настройками

Меню

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Рейтинг@Mail.ru