У меня есть www-сервер, который называется mywebsite.com, а почтовый сервер mymail.com. Почта для mywebsite.com обрабатывается mymail.com (запись mx для mywebsite.com - это mymail.com). Проблема в том, что я хочу отправлять письма с моего www-сервера mywebsite.com на адрес в домене mywebsite.com.
Поэтому я настроил sendmail на mywebsite.com для пересылки всех писем через mymail.com. я меняю конфигурацию sendmail на mywebsite.com: dnl # define('SMART_HOST', 'mymail.com')dnl
Проблема в том, что sendmail жалуется, когда я отправляю, например, на rafal@mywebsite.com, что пользователь неизвестен (но этот почтовый ящик существует на mymail.com). Все почтовые ящики находятся на mymail.com, а не на mywebsite.com.
это журнал от telnet до localhost на mywebsite.com
root@mywebsite.com# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
220 familie.pl ESMTP Sendmail 8.13.8/8.13.8; Sun, 6 Nov 2011 18:21:04 +0100
helo domain.pl
250 domain.pl Hello localhost.localdomain [127.0.0.1], pleased to meet you
mail from: me@mywebsite.com
250 2.1.0 me@mywebsite.com... Sender ok
rcpt to: rafal@mywebsite.com
550 5.1.1 rafal@website.com ... User unknown
data
503 5.0.0 Need RCPT (recipient)
Есть ли способ отключить проверку rcpt для локального домена ??
Это цитируется из http://www.tipstrs.com/tip/13296/Setting-up-sendmail-with-a-catch-all-for-unknown-email-addresses
Если вы запускаете sendmail на сервере Linux, довольно легко настроить sendmail так, чтобы любое электронное письмо, отправленное на неизвестный адрес электронной почты в вашем домене, пересылалось на известный адрес. Это приводит к увеличению количества спама, но мне это нравится, потому что затем я могу использовать адреса электронной почты, которые не существуют для определенных целей (например, когда форум требует действующий адрес электронной почты как часть процесса подтверждения регистрации) .
Вот как настроить сбор всех неизвестных адресов электронной почты в Fedora (ваш disto может немного отличаться), все эти команды необходимо запускать от имени пользователя root:
Отредактируйте /etc/mail/sendmail.mc
file и найдите строку, содержащую virtusertable, и убедитесь, что она не закомментирована. Если он закомментирован, удалите комментарий. В моем случае это выглядит так:
FEATURE(`virtusertable', `hash -o /etc/mail/virtusertable.db')dn
Отредактируйте /etc/mail/virtusertable
file и добавьте строки, подобные приведенным ниже, по одной для каждого домена на вашем сервере, для которого вы хотите добавить сводку:
@domain1.com postmaster-domain1
@domain2.com postmaster-domain2
В этом примере любая почта, отправленная неизвестному пользователю на domain1.com, будет перенаправлена пользователю postmaster-domain1, а любое электронное письмо, отправленное неизвестному пользователю на domain2.com, будет перенаправлено пользователю postmaster-domain2. Чтобы это работало, пользователи, которым пересылается почта, должны существовать и иметь возможность получать почту.
/etc/mail
каталог, запустите make
команда.service sendmail restart
команда.Это все, что нужно сделать. Как только вы сделаете эти несколько простых шагов, вы получите всю информацию о любых письмах, отправленных неизвестным пользователям в вашем домене.