LINUX.ORG.RU
ФорумAdmin

Docker и пересылка почты

 , , , ,


0

1

Привет, ребзя. В настройке MTA не силен, прошу помощи.

Есть docker-контейнер в котором крутится php приложение, умеющее отправлять почту. Есть хост на котором стоит exim4.

Для отправки почты, в контейнер установил ssmtp и указал mailhub=ip_хоста

При отправке ругается на *relay not permitted*.

root@0504d6627197:/var/www# /usr/sbin/ssmtp -v "myemail@ya.ru"
FROM: ME <myemail@ya.ru>
Subject: Test mail
Testset

[<-] 220 mydomain.ru ESMTP Exim 4.86_2 Ubuntu Wed, 02 Nov 2016 10:10:08 +0300
[->] HELO 397f80c505a4
[<-] 250 mydomain.ru Hello 397f80c505a4 [172.17.0.3]
[->] MAIL FROM:<myemail@ya.ru>
[<-] 250 OK
[->] RCPT TO:<myemail@ya.ru>
[<-] 550 relay not permitted
ssmtp: RCPT TO:<myemail@ya.ru> (550 relay not permitted)

Настройки exim сейчас выглядят вот так. Подскажите, где я ошибся, или что упустил.

dc_eximconfig_configtype='internet'
dc_other_hostnames='mydomian.ru'
dc_local_interfaces='127.0.0.1 ; ::1, 172.17.0.3'
dc_readhost='*'
dc_relay_domains='*'
dc_minimaldns='false'
dc_relay_nets='*;172.17.0.3' #ip - это ip docker контейнера
dc_smarthost=''
CFILEMODE='644'
dc_use_split_config='false'
dc_hide_mailname=''
dc_mailname_in_oh='true'
dc_localdelivery='mail_spool'

EXIM в глаза не видел, но:

dc_relay_nets='*;172.17.0.3'
Вот тут зачем ещё ip, тем более без маски, если там уже вайлдкард стоит?
Другое дело, что в EXIM '*' может иметь разное значение для ipv4/ipv6, смотри документацию.

dc_local_interfaces='127.0.0.1 ; ::1, 172.17.0.3'

и если вышеприведённое верно, тут надо ставить 172.17.0.1 для хоста. И синтаксис при перечислении, где ';' и ',' ставятся проверь.

Yustas ★★★★ ()
Последнее исправление: Yustas (всего исправлений: 2)

В общем, ковыряние файла настроек update-exim4.conf не дало никаких результатов. После изменения, как положено, вызывал update-exim4.conf для обновления конфигурации.

Оказалось нужно было cp exim.conf.examle exim.conf, и добавить адрес контейнера в relay_from_hosts:

hostlist relay_from_hosts = 127.0.0.1 : 172.17.0.1/16

172.17.0.1/16 - сеть docker0 в которую попадают все запущенные контейнеры.

Forastero ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.