Страница 1 из 1
Правильны ли настройки postfix?
Добавлено: 2009-04-17 11:00:56
Demiurg
Север с почтой в локалке - servbsd.tts.local, модем (с белым ip) все запросы с почтой заруливает на на этот сервер.
После обновления postfix 2.5.5 -> 2.5.6,1, иногда стало появляться:
Код: Выделить всё
Apr 17 11:38:14 servbsd postfix/smtpd[66113]: connect from relay.domain.ru[*.*.*.*]
Apr 17 11:38:14 servbsd postfix/smtpd[66113]: NOQUEUE: reject: RCPT from relay.domain.ru[*.*.*.*]: 450 4.1.7 <sender@company.ru>: Sender address rejected: unverified address: host mail.domain.ru[*.*.*.*] said: 450 <mail.tts.local>: Helo command rejected: Host not found (in reply to RCPT TO command); from=<sender@company.ru> to=<user@tts.mycompany.ru> proto=ESMTP helo=<relay.domain.ru>
Apr 17 11:38:14 servbsd postfix/smtpd[66113]: disconnect from relay.domain.ru[*.*.*.*]
белые ip relay.domain.ru и mail.domain.ru совпадают. Вопрос: это чужому почтовику "не-нравится" что у меня myhostname = mail.tts.local, или это моему почтовику "не-нравится", что relay.domain.ru не подтверждает, что у него есть
sender@company.ru ?
Re: Правильны ли настройки postfix?
Добавлено: 2009-04-17 12:38:04
Laa
Расжовываю.
1. к вашему МТА подключился почтовый сервер
2. Ваш МТА пытается сделать проверку отправителя сэмулировал доставку тестового письма на адрес отправителя
3. В приветствии ваш МТА приветствуется не FQDN именем -- HELO mail.tts.local
4. Удаленный сервер выдает 4хх ошибку, то есть пробовать можно еще, но врядли будет толк.
Решение: mail.tts.local меняете на FQDN. Оно не помешает, а больше поможет.
Re: Правильны ли настройки postfix?
Добавлено: 2009-04-17 16:13:20
Demiurg
Поменял mail.tts.local на FQDN (имя домена, за которым закреплен белый ip модема, который заворачивает почту на внутренний почтовый сервер). Теперь:
Код: Выделить всё
Apr 17 16:53:25 servbsd postfix/smtpd[70901]: NOQUEUE: reject: RCPT from f139.mail.ru[194.67.57.120]: 450 4.1.1 <user@tts.company.ru>: Recipient address rejected: undeliverable address: unknown user: "user"; from=<sender@mail.ru> to=<user@tts.company.ru> proto=ESMTP helo=<f139.mail.ru>
Apr 17 16:53:25 servbsd postfix/smtpd[70901]: disconnect from f139.mail.ru[194.67.57.120]
Вернул обратно, письма стали доходить...
Re: Правильны ли настройки postfix?
Добавлено: 2009-04-17 16:49:05
Laa
А покажите ГДЕ были сделаны изменения.
Re: Правильны ли настройки postfix?
Добавлено: 2009-04-17 17:10:09
Demiurg
Изменению подвергся /usr/local/etc/postfix/main.cf
Код: Выделить всё
1. myhostname = mail.tts.local
2. mydomain = tts.mycompany.ru
3. myorigin = $mydomain
1 строчку менял на
Re: Правильны ли настройки postfix?
Добавлено: 2009-04-17 17:16:30
Laa
Странно...
Как могла эта опция повлиять на такой ответ.
Код: Выделить всё
450 4.1.1 <user@tts.company.ru>: Recipient address rejected: undeliverable address: unknown user: "user";
А у вас действительно есть <
user@tts.company.ru>?
И как у вас организована база юзеров?
Re: Правильны ли настройки postfix?
Добавлено: 2009-04-17 17:36:39
Demiurg
Пользователь имеется - 120%, потому что это я...

все виртуальные домены и пользователи хранятся в базе PostgreSQL.
Может здесь что не так /usr/local/etc/postfix/pgsqlLookupMaps/sender.conf:
Код: Выделить всё
user = xxx
password = xxx
hosts = localhost
dbname = xxx
table = mailbox
select_field = username
where_field = username
additional_conditions = and active = '1'
?
Если учесть что в таблице mailbox
Код: Выделить всё
xxx=# \d mailbox
Таблица "public.mailbox"
Колонка | Тип | Модификаторы
----------+--------------------------+----------------------------------------
username | character varying(255) | not null
password | character varying(255) | not null default ''::character varying
name | character varying(255) | not null default ''::character varying
maildir | character varying(255) | not null default ''::character varying
quota | integer | not null default 0
created | timestamp with time zone | default now()
modified | timestamp with time zone | default now()
active | boolean | not null default true
domain | character varying(255) |
Индексы:
"mailbox_key" PRIMARY KEY, btree (username)
"mailbox_username_active" btree (username, active)
Ограничения по внешнему ключу:
"mailbox_domain_fkey1" FOREIGN KEY ("domain") REFERENCES "domain"("domain")
xxx=#
в поле username пользователи хранятся в виде user@domain, то ИМХО
Код: Выделить всё
450 4.1.1 <user@tts.company.ru>: Recipient address rejected: undeliverable address: unknown user: "user";
он и должен так ругаться... тогда где баг: изминилась схема бд в новой версии или ... другие варианты ?
Ну и еще вот это
нужно поменять на
2Laa в pgsqlLookupMaps есть 5 файлов, с помощью которых ИМХО заключается "API" общения postfix с хранилищем
Код: Выделить всё
servbsd# ls
alias.conf domain.conf mailbox.conf quota.conf sender.conf
servbsd#
по идее это настройки 5 запросов к БД, каждый из которых "отдает" необходимую инфу postfix'у... есть ли описание: в каком из запросов какие данные и в каком виде должны вернуться? Можно было бы более "человеческую" структуру БД сделать, а необходимую инфу возвращать хранимыми процедурами. Хотя в этом случае и postfix-admin придется "подправить", что бы он смог общаться с "новой" базой...
Re: Правильны ли настройки postfix?
Добавлено: 2009-04-17 20:41:30
Laa
Хорошо бы увидеть пару строк из таблицы базы данных. Как там все внесено?
Re: Правильны ли настройки postfix?
Добавлено: 2009-04-17 20:47:27
Demiurg
Код: Выделить всё
xxx=# select * from mailbox LIMIT 2;
username | password | name | maildir | quota | created | modified | active | domain
----------------------+----------+--------------------+------------------------------------+-----------+-------------------------------+-------------------------------+--------+--------------
user@tts.mycompany.ru | plain-text | User Userovich Userov :) | tts.mycompany.ru/user@tts.mycompany.ru/ | 102400000 | 2008-09-26 22:53:29.80969+04 | 2008-09-29 19:53:38.638931+04 | t | tts.mycompany.ru
quota@tts.mycompany.ru | plain-text | Quota | tts.mycompany.ru/quota@tts.mycompany.ru/ | 2048000 | 2008-09-26 22:56:23.927302+04 | 2008-09-29 19:53:56.591095+04 | t | tts.mycompany.ru
(2 rows)
xxx=#