Страница 1 из 1

Sendmail - только SMTP

Добавлено: 2011-11-23 17:53:54
simon272
Вопрос может показаться глупым, но все таки:
Имеется шлюз на FreeBSD с выделенным ИП и доменным именем (к примеру domain.zp.ua). Почта для этого домена хостится у провайдера (ДНС записи в порядке - все работает). SMTP сервер провайдера часто попадает в черные списки, решил поднять штатный sendmail - все получилось, кроме возможности отправить письмо пользователю со своего домена . Выдает ошибку :

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

Письмо не отправлено. Сервер сообщает: 5.1.1 <user@domain.zp.ua>... User unknown
Как указать sendmail-у что письма для domain.zp.ua нужно переправлять на mail.domain.zp.ua, а не самому себе?

Re: Sendmail - только SMTP

Добавлено: 2011-11-24 2:04:45
simon272
Знаете поговорку "без 100 грамм не разобраться"? Если речь идет о sendmail то рассчитывайте ящик на рыло...
Итак, sendmail считает почтовый домен локальным если на сервер указывают записи:
1. Запись A или MX в прямой зоне DNS (проверяется командой host имя.домена)
2. Hostname сервера
3. Записи в /etc/hosts
4. Записи в обратной зоне DNS (проверяется командой host ip-address)
5. Записи в /etc/mail/local-hosts-names, /etc/mail/virtusertable и непосредственно имя домена может быть определено в конфигах sendmail (hostname.mc, sendmail.mc и из него который создается sendmail.cf - команда grep -i domain /etc/mail/* найдет эти записи.

Если почта для domain.ru (машина на которой крутится sendmail) хостится на mail.domain.ru, то нужно добавить в файлы след. строки:
1. /etc/mail/mailertable

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

domain.ru relay:mail.domain.ru
2. /etc/mail/relay-domains

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

domain.ru
3. /etc/mail/freebsd.mc

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

define(`MAIL_HUB', `domain.ru[b].[/b]')
define(`LOCAL_RELAY', `domain.ru[b].[/b]')
(!) с точками повнимательней...

Удостоверимся что в правильной директории и обновим конфигурацию

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

# pwd
/etc/mail
# makemap hash /etc/mail/mailertable < /etc/mail/mailertable
# make all install
# service sendmail restart
Stopping sendmail.
Starting sendmail.
# uname -rsv
FreeBSD 8.0-RELEASE FreeBSD 8.0-RELEASE #1: Tue Jun  1 21:17:25 EEST 2010     root@******:/usr/obj/usr/src/sys/IPFW