Postfix + fetchmail !=fqdn

Операционки на базе Unix
Ответить
Аватара пользователя
Phantom
Эникейщик
Эникейщик
Сообщения: 266
Зарегистрирован: 18 май 2012, 16:34
ОС: ARCH Linux
Откуда: Брянск
Контактная информация:

Postfix + fetchmail !=fqdn

Сообщение Phantom » 07 авг 2014, 14:07

Все просто. Есть postfix в котором есть правило вида

Код: Выделить всё

smtpd_recipient_restrictions = permit_mynetworks,reject_non_fqdn_recipient, reject_unknown_recipient_domain, reject_unlisted_recipient, reject_unauth_destination
И есть fetchmail,который должен опросить ящики на хостинге и перенаправить их в postfix. НО! Он это делает с подменой домена на localhost. Т.е в логах почта приходит вместо user@post.ru на user@localhost, что совсем не fqdn. Аксиома: сохранить требования по fqdn в обе стороны.
Что я только не пробовал.... но заставить fetchmail подставлять номальное доменное имя не смог. Пока работаю без reject_non_fqdn_recipient , но это не комильфо как понимаете....
У exim есть возможность указать local_domains, но тут postfix. Есть идеи куда копать?
01010000011010000110000101101110011101000110111101101101
Аватара пользователя
Infernal Flame
Злой Модер
Сообщения: 1796
Зарегистрирован: 03 мар 2010, 11:25
ОС: Centos 7
Контактная информация:

Re: Postfix + fetchmail !=fqdn

Сообщение Infernal Flame » 08 авг 2014, 14:40

Phantom
полные конфиги можно поглядеть?
Изображение
Изображение
Work: Centos 7 х 'all Servers'
Аватара пользователя
Phantom
Эникейщик
Эникейщик
Сообщения: 266
Зарегистрирован: 18 май 2012, 16:34
ОС: ARCH Linux
Откуда: Брянск
Контактная информация:

Re: Postfix + fetchmail !=fqdn

Сообщение Phantom » 11 авг 2014, 09:46

Да. Вот postfix.

Код: Выделить всё


#Представляемся
smtpd_banner = $myhostname ESMTP $mail_name (Linux)

#Отключаем comsat
biff = no

#Запрещаем автоматически дополнять неполное доменное имя в адресе письма
append_dot_mydomain = no

#Указываем каталог очереди для Postfix
queue_directory = /var/spool/postfix

#Устанавливаем интерфейсы на которых будет работать MTA
inet_interfaces = 127.0.0.1, 192.168.10.20

#Указываем имя нашего хоста
myhostname = server

#Указываем домен для FQDN
myorigin = domen.ru # Имя выдуманное. На самом деле тут нормальное

#Указываем карту альясов
alias_maps = hash:/etc/postfix/aliases
alias_database = hash:/etc/postfix/aliases

#Указываем транспортную карту
transport_maps = hash:/etc/postfix/transport

#Указываем адрес релей сервера для отправки почты
relayhost = тут релей SMTP провайдера

#Указываем для каких доменов будем принимать почту
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain, domen.ru

#Указываем список доверенных подсетей
mynetworks = 127.0.0.0/8, 192.168.0.0/16

#Устанавливаем ограничения на размер письма (внешний MTA все равно больше не пропустит)
message_size_limit = 26624000

#Устанавливаем ограничение на размер почтового ящика = 500Mb (мы не хранилище почтового хлама)
mailbox_size_limit = 500000000

#Устанавливаем разделитель для получателя
recipient_delimiter = +

#Указываем обязательность использование клиентами команды helo
smtpd_helo_required = yes

#Отрабатываем весь сеанс, от установления соединения до RCPT TO включительно **НЕ ГЛЯДЯ НИ НА КАКИЕ ОГРАНИЧЕНИЯ**, и лишь после этого будем запускать проверки
smtpd_delay_reject = yes

#Если получатель не существует сообщить отправителю об этом
unknown_local_recipient_reject_code = 550

#Защищаемся от email флуда и ошибок клиентского ПО
smtpd_error_sleep_time = 1s
smtpd_soft_error_limit = 5
smtpd_hard_error_limit = 10
local_destination_concurrency_limit = 1

#Устанавливаем необходимые ограничения
smtpd_helo_restrictions = permit_mynetworks, reject_invalid_hostname
smtpd_sender_restrictions = permit_mynetworks, reject_non_fqdn_sender, reject_unknown_sender_domain
smtpd_recipient_restrictions = permit_mynetworks,[b] reject_unknown_recipient[/b]_domain, reject_unlisted_recipient, reject_unauth_destination
В fetchmail`е ничего фантастического нет. Разве что опция set daemon.
01010000011010000110000101101110011101000110111101101101
Ответить

Вернуться в «Unix»