Linux Mint    Ubuntu    openSUSE    Asterisk    FreeBSD    Android    Nokia N900    Игры в Linux
 Linux Mint    Ubuntu     openSUSE     Asterisk     FreeBSD     Android     N900     Games

Postfix отправка почты через smtp Яндекс

Я долго мучал этот вопрос, как же заставить postfix отправлять почту через яндекс и я нашел ответ. О ужас како-то. Боюсь вас эта статья напугает, т.к. с тем же гуглом такого нет, да и mail настраивается быстро.

и так поехали:

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

postfix/smtp[]: : SASL authentication failed ...

Будем решать эту проблему. Первым делом нужно установить stunnel4, затем подправить его конфиг:

/etc/stunnel/yandex.conf

[smtp]
client = yes
accept = 127.0.0.1:25025
connect = smtp.yandex.ru:465

/etc/default/stunnel4

ENABLED = 1
FILES = «/ etc / stunnel / *. Conf»
OPTIONS = «»
# Change to one to enable ppp restart scripts
PPP_RESTART = 0

У меня он не запустился без бубна на Ubuntu14.04, что бы запустить отредактировал файл /etc/init.d/stunnel4 и заменил одну строчку

DEFAULTPIDFILE="/var/run/stunnel4.pid

на

DEFAULTPIDFILE="/var/run/stunnel4/stunnel4.pid

Затем старт. и stunnel4 работает

В настройках postfix файл /etc/postfix/main.cf добавляем следующее:

smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = giperaster
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = giperaster, localhost.localdomain, localhost
#relayhost = [smtp.yandex.ru]
relayhost = localhost:25025
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
default_transport = smtp
relay_transport = smtp
inet_protocols = all
smtp_sender_dependent_authentication = yes
sender_dependent_relayhost_maps = hash:/etc/postfix/sender_relay
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_type = cyrus
smtp_sasl_security_options = noanonymous
smtp_sasl_mechanism_filter = login
#sender_canonical_maps = hash:/etc/postfix/canonical
smtp_generic_maps = hash:/etc/postfix/generic
smtp_use_tls = yes

В /etc/postfix/sasl_passwd указываем логин и пароль:

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

В /etc/postfix/sender_relay указываем привязку доменов и конкретных отправителей к внешним службам:

 @domain.ru [smtp.yandex.ru] 
 user@domain.ru [smtp.yandex.ru]

В /etc/postfix/generic добавляем говорим какую почту маскировать:

root@вашдомен ник@домен_на_который_слать письмо

И выполняем команду postmap для /etc/postfix/generic, /etc/postfix/canonical, /etc/postfix/sender_relay, /etc/postfix/sasl_passwd:

postmap /etc/postfix/generic &&
postmap /etc/postfix/canonical &&
postmap /etc/postfix/sender_relay &&
postmap /etc/postfix/sasl_passwd

После этого почта будет хочить через яндекс без проблем. Ах да рестарт postfix не забываем делать :)

jekson аватар

Отлично! Мне как раз пригодиться. Стандартная отправка мне не подходит, gmail помучил, но бросил. А это в самый раз