Я запутался с Sendmail. Я недавно унаследовал ответственность за приложение, использующее sendmail, и у меня нет предыдущего опыта. Я использую Ubuntu Ubuntu 10.04.4 LTS. Недавно мы поняли, что пользователи больше не получают электронные письма. Я пробовал протестировать с помощью следующей команды, но, похоже, это не вызывает каких-либо действий в почтовом журнале.
sudo sendmail -s 'Hello world' jamesmparker@domain.com
Просматривая журнал sendmail, я обнаружил, что сообщения, связанные с доменным именем адреса отправителя, не разрешаются. Вроде проблема с доменом li31313-134. Увидеть ниже:
Apr 9 16:42:07 localhost sendmail[18230]: s39Kg7nA018230: from=www-data, size=598, class=0, nrcpts=1, msgid=<201404092042.s39Kg7nA018230@li313-134>, relay=www-data@localhost
Apr 9 16:42:07 localhost sendmail[18230]: s39Kg7nA018230: to=jamesmparker@domain.com, delay=00:00:00, mailer=esmtp, pri=30598, dsn=4.4.3, stat=queued
Apr 9 16:43:51 localhost sendmail[18247]: s39KhpLD018247: from=jparker, size=149, class=0, nrcpts=1, msgid=<201404092043.s39KhpLD018247@li313-134>, relay=jparker@localhost
Apr 9 16:43:51 localhost sm-mta[18248]: s39KhpDC018248: ruleset=check_rcpt, arg1=<root@li313-134>relay=localhost.localdomain [127.0.0.1], reject=451 4.1.8 Domain of sender address jparker@li313-134 does not resolve
Я безуспешно пытался изменить свой / etc / hosts. Ниже мой текущий файл hosts. Как видите, я пробовал несколько комбинаций:
127.0.0.1 localhost.localdomain localhost
<EXTERNAL IP> li313-134 li313-134.
127.0.0.1 li313-134 li313-134.
Еще одна проблема, которую я не могу исключить, - это блокировка исходящей почты IPTABLES. Опять же, не так много опыта, но я пытался убедиться, что порт 25 открыт для отправки / получения. Я могу получать почту нормально. Правила IPTABLES ниже. Там может быть пара мошеннических правил:
Chain INPUT (policy DROP 10 packets, 508 bytes)
num pkts bytes target prot opt in out source destination
1 210K 67M fail2ban-ssh tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 22
2 4986K 6254M ACCEPT all -- * * 127.0.0.1 0.0.0.0/0
3 27M 4312M ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 22,80,443,3690,5432,8999:9003
4 147 10052 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 53
5 18M 12G ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
6 0 0 DROP all -- * * 23.91.20.0/24 0.0.0.0/0
7 51 2464 DROP all -- * * 23.0.0.0/8 0.0.0.0/0
8 75 6399 DROP all -- * * 192.0.0.0/8 0.0.0.0/0
9 0 0 DROP all -- * * 192.0.0.0/8 0.0.0.0/0
10 9425 669K DROP all -- * * 0.0.0.0/0 0.0.0.0/0
11 0 0 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:25 state NEW,ESTABLISHED
Chain FORWARD (policy DROP 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
Chain OUTPUT (policy DROP 11M packets, 766M bytes)
num pkts bytes target prot opt in out source destination
1 4986K 6254M ACCEPT all -- * * 127.0.0.1 0.0.0.0/0
2 39M 16G ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
3 0 0 ACCEPT tcp -- * eth0 0.0.0.0/0 0.0.0.0/0 tcp spt:25 state ESTABLISHED
Простое решение - переименовать хост в имя, которое действительно существует в DNS.
ОК IPTABLES был виноват. Я сбросил свои правила, перезапустил sendmail и получил множество писем, поступающих в мой почтовый ящик. Теперь я восстановлю свои правила IPTABLES и выясню, какое правило блокировало DNS.