LINUX.ORG.RU
ФорумAdmin

Не отправляется почта с сервера

 , , ,


0

1

Добрый день. Мучаюсь уже который день, не знаю уже что еще сделать. перечитал кучу статей, перепробовал массу всего но в итоге проблема не решается. В общем к сути.

А суть такая. Есть сервер под управлением debian 7.

На нем работает web сервер с несколькими сайтами.

Имеется белый ip:109.195.163.157

Почта отправляется php функцией mail() которая возвращает значение true но при этом сама почта не приходит к человеку.

Команда host 109.195.163.157 дает результат:

157.163.195.109.in-addr.arpa domain name pointer mainserver.compuproject.com.
157.163.195.109.in-addr.arpa domain name pointer mail.compuproject.com.
157.163.195.109.in-addr.arpa domain name pointer mail.forsazh62.ru.
157.163.195.109.in-addr.arpa domain name pointer forsazh62.ru.
157.163.195.109.in-addr.arpa domain name pointer compuproject.com.

Команда host mainserver.compuproject.com дает результат:

mainserver.compuproject.com has address 109.195.163.157
То есть проблем с DNS вроде как нету.

Теперь о структуре сети: Интернет кабель подключен к роутеру, откуда проброс сделан на сервер. Тоесть когда мы заходим по 109.195.163.157 из внешней сети, то попадаем на сервер. Имя сервера «mainserver.compuproject.com» ipv6 - отключен почтовый клиент exim4 в php.ini есть строка: sendmail_path = /usr/sbin/exim4 -t exim4 - настроен по инструкции которых в сети полно netstat -ltupn

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1727/rpcbind    
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      13997/vsftpd    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      2548/sshd       
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      18558/exim4     
tcp        0      0 0.0.0.0:35400           0.0.0.0:*               LISTEN      1758/rpc.statd  
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      7330/mysqld     
tcp6       0      0 :::48207                :::*                    LISTEN      1758/rpc.statd  
tcp6       0      0 :::111                  :::*                    LISTEN      1727/rpcbind    
tcp6       0      0 :::80                   :::*                    LISTEN      18617/apache2   
tcp6       0      0 :::22                   :::*                    LISTEN      2548/sshd       
udp        0      0 0.0.0.0:630             0.0.0.0:*                           1727/rpcbind    
udp        0      0 127.0.0.1:662           0.0.0.0:*                           1758/rpc.statd  
udp        0      0 0.0.0.0:48021           0.0.0.0:*                           2507/dhclient   
udp        0      0 0.0.0.0:68              0.0.0.0:*                           2507/dhclient   
udp        0      0 0.0.0.0:111             0.0.0.0:*                           1727/rpcbind    
udp        0      0 192.168.0.100:123       0.0.0.0:*                           3709/ntpd       
udp        0      0 127.0.0.1:123           0.0.0.0:*                           3709/ntpd       
udp        0      0 0.0.0.0:123             0.0.0.0:*                           3709/ntpd       
udp        0      0 0.0.0.0:51570           0.0.0.0:*                           1758/rpc.statd  
udp6       0      0 :::630                  :::*                                1727/rpcbind    
udp6       0      0 :::35993                :::*                                1758/rpc.statd  
udp6       0      0 :::38393                :::*                                2507/dhclient   
udp6       0      0 :::111                  :::*                                1727/rpcbind    
udp6       0      0 :::123                  :::*                                3709/ntpd  
изходя из строки
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      18558/exim4
Делаю вывод, что exim4 слушает 25 порт, но выполнив команду telnet 109.195.163.157 25 получаю следующее:
Trying 109.195.163.157...
telnet: Unable to connect to remote host: Connection refused
Я так понимаю это значит что у меня порт 25 закрыт? а как определить где именно и как его открыть тогда если это так. если не так, идем дальше.

в логах exim4 следующее:

2014-02-02 14:19:19 Start queue run: pid=19486
2014-02-02 14:19:19 1W9rpO-0004sf-Gu Remote host mx.yandex.ru [77.88.21.89] closed connection in response to initial connection
2014-02-02 14:19:19 1W9rpO-0004sf-Gu == mitetsu@ya.ru R=dnslookup T=remote_smtp defer (-18): Remote host mx.yandex.ru [77.88.21.89] closed connection in response to initial conne$
2014-02-02 14:19:19 1W9rpO-0004sY-CQ gmail-smtp-in.l.google.com [2a00:1450:4010:c04::1a] Network is unreachable
2014-02-02 14:19:19 1W9rpO-0004sY-CQ Remote host gmail-smtp-in.l.google.com [173.194.71.27] closed connection in response to initial connection
2014-02-02 14:19:19 1W9rpO-0004sY-CQ alt1.gmail-smtp-in.l.google.com [2607:f8b0:4003:c02::1b] Network is unreachable
2014-02-02 14:19:19 1W9rpO-0004sY-CQ alt2.gmail-smtp-in.l.google.com [2607:f8b0:4001:c05::1a] Network is unreachable
2014-02-02 14:19:20 1W9rpO-0004sY-CQ Remote host alt2.gmail-smtp-in.l.google.com [74.125.193.27] closed connection in response to initial connection
2014-02-02 14:19:20 1W9rpO-0004sY-CQ alt3.gmail-smtp-in.l.google.com [2607:f8b0:4002:c07::1a] Network is unreachable
2014-02-02 14:19:20 1W9rpO-0004sY-CQ alt4.gmail-smtp-in.l.google.com [2607:f8b0:400d:c00::1b] Network is unreachable
2014-02-02 14:19:20 1W9rpO-0004sY-CQ == mitetsu22@gmail.com R=dnslookup T=remote_smtp defer (101): Network is unreachable
2014-02-02 14:19:20 1W9rpO-0004sT-8f Remote host alt3.gmail-smtp-in.l.google.com [74.125.196.26] closed connection in response to initial connection
2014-02-02 14:19:20 1W9rpO-0004sT-8f Remote host alt4.gmail-smtp-in.l.google.com [173.194.68.27] closed connection in response to initial connection
2014-02-02 14:19:20 1W9rpO-0004sT-8f == zaytsev.max@gmail.com R=dnslookup T=remote_smtp defer (-18): Remote host alt4.gmail-smtp-in.l.google.com [173.194.68.27] closed connection$
2014-02-02 14:19:20 1W9rNC-0004qh-4C == zaytsev.max@gmail.com R=dnslookup T=remote_smtp defer (-53): retry time not reached for any host
2014-02-02 14:19:20 1W9rNC-0004qq-Bg == mitetsu@ya.ru R=dnslookup T=remote_smtp defer (-53): retry time not reached for any host
2014-02-02 14:19:20 1W9rNC-0004ql-84 == mitetsu22@gmail.com R=dnslookup T=remote_smtp defer (-53): retry time not reached for any host
2014-02-02 14:19:20 End queue run: pid=19486

В настройках DNS имеются следующие RRs записи:

Субдомен        Класс        Приоритет        Адрес
----------------------------------------------------------
   *              А                       109.195.163.157
   @              А                       109.195.163.157
mainserver        А                       109.195.163.157
   @              MX                      109.195.163.157
 mail           CNAME                     109.195.163.157

В общем жду от вас помощи.

Зачем для отсылки почты из пыха целый экзим?

1. Ставим sendmail

2. Прописываем в php.ini

sendmail_path = /usr/sbin/sendmail -t -i 

3. Настраиваем hostname = servername.com, чтобы почтовик именно так представлялся при попытке отправить письмо

4. Просим своего провайдера настроить обратную зону 109.195.163.157 = servername.com. PTR-запись на 109.195.163.157 тоже не повредит.

5. Радуемсо.

Работает даже без п.п. 3-4, но письма, ясен пень, в спам попадают ибо реверс-зона не настроена.

ogiel ()

Делаю вывод, что exim4 слушает 25 порт, но выполнив команду telnet 109.195.163.157 25 получаю следующее:

а локально если зайти, а не через внешний адрес? м

stave ★★★★★ ()
Ответ на: комментарий от ogiel

Обратная зона прописана. Не совсем понял про 3 пункт. Можно подробнее где это выставить? И как быть если на сервере несколько сайтов с разными доменами. И еще нужна ли какая-то настройка для sendmail или достаточно просто пакет поставить.

RayMefise ()
Ответ на: комментарий от anto215

А можно подробнее? как провериться и если найду себя в них, то что делать?

RayMefise ()
Ответ на: комментарий от RayMefise

Не совсем понял про 3 пункт. Можно подробнее где это выставить?

http://debianworld.ru/articles/izmenenie-hostname-v-ubuntu-debian/

И как быть если на сервере несколько сайтов с разными доменами

Никак. Это норма. На один IP можно направить A-зоны бесчисленного числа доменов. Хостнейм твоего сервака у доменам сайтов отношения не имеет.

И еще нужна ли какая-то настройка для sendmail или достаточно просто пакет поставить.

Использую дебиан для разворачивания подобных «хостингов» регулярно. Ни разу не настраивал, всё работало.

ogiel ()

tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 18558/exim4
Делаю вывод, что exim4 слушает 25 порт

exim слушает только localhost, естественно ниоткуда кроме localhost его не видно.
Или ты его заставляешь слушать нужный ip или в iptables делаешь проброс порта с ip до localhost

Не совсем понятно откуда показаны настройки ДНС, покажи: host -t mx твой.домен

bass ★★★★★ ()
Последнее исправление: bass (всего исправлений: 1)
Ответ на: комментарий от ogiel

Щас выполняю команду netstat -tulpan и вижу

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1693/rpcbind    
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      2738/vsftpd     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      3029/sshd       
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      2369/sendmail: MTA:
tcp        0      0 0.0.0.0:34554           0.0.0.0:*               LISTEN      1724/rpc.statd  
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      2713/mysqld     
tcp        0      0 127.0.0.1:587           0.0.0.0:*               LISTEN      2369/sendmail: MTA:
tcp        0      0 192.168.0.100:22        192.168.0.50:64443      ESTABLISHED 3565/0          
tcp6       0      0 :::111                  :::*                    LISTEN      1693/rpcbind    
tcp6       0      0 :::80                   :::*                    LISTEN      2123/apache2    
tcp6       0      0 :::43344                :::*                    LISTEN      1724/rpc.statd  
tcp6       0      0 :::22                   :::*                    LISTEN      3029/sshd       
tcp6       0      0 192.168.0.100:80        157.56.93.153:55157     ESTABLISHED 3559/apache2    
udp        0      0 127.0.0.1:628           0.0.0.0:*                           1724/rpc.statd  
udp        0      0 0.0.0.0:39849           0.0.0.0:*                           1724/rpc.statd  
udp        0      0 0.0.0.0:1020            0.0.0.0:*                           1693/rpcbind    
udp        0      0 0.0.0.0:51012           0.0.0.0:*                           2988/dhclient   
udp        0      0 0.0.0.0:68              0.0.0.0:*                           2988/dhclient   
udp        0      0 0.0.0.0:111             0.0.0.0:*                           1693/rpcbind    
udp        0      0 192.168.0.100:123       0.0.0.0:*                           2227/ntpd       
udp        0      0 127.0.0.1:123           0.0.0.0:*                           2227/ntpd       
udp        0      0 0.0.0.0:123             0.0.0.0:*                           2227/ntpd       
udp6       0      0 :::43618                :::*                                1724/rpc.statd  
udp6       0      0 :::1020                 :::*                                1693/rpcbind    
udp6       0      0 :::111                  :::*                                1693/rpcbind    
udp6       0      0 :::123                  :::*                                2227/ntpd       
udp6       0      0 :::18763                :::*                                2988/dhclient   

я так понимаю исходя из этого

tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      2369/sendmail: MTA:  
tcp        0      0 127.0.0.1:587           0.0.0.0:*               LISTEN      2369/sendmail: MTA:
что sendmail слушает 2 порта 25 и 587, но слушает внутри локального хоста... это нормально?

В логах:

Feb  2 19:41:56 mainserver sm-mta[3564]: s12DEZtP022388: to=<zaytsev.max@gmail.com>, ctladdr=<www-data@mainserver.compuproject.com> (33/33), delay=02:27:21, xdelay=00:00:00, mailer=esmtp, pri=1560835, relay=alt4.gmail-smtp-in.l.google.com., dsn=4.0.0, stat=Deferred: Connection reset by alt4.gmail-smtp-in.l.google.com.

RayMefise ()
Ответ на: комментарий от RayMefise

Похоже, что кто-то забанил исходящие на 25 порт с твоего сервера.

Deleted ()
Ответ на: комментарий от RayMefise

что sendmail слушает 2 порта 25 и 587, но слушает внутри локального хоста... это нормально?

нормально, если ты уже решил вопрос «подключение к 127.0.0.1 извне»

bass ★★★★★ ()
Ответ на: комментарий от bass

В смысле? Не совсем понимаю о чем речь. Вообще у меня проходит инет на роутер, а тот пробрасывает на сервер все входящие. На сервере крутится 3 сайта и ко всем осуществляется нормальный доступ из интернета.

RayMefise ()

сделай с сервера

$ telnet smtp.mail.ru 25

Если ответ примерно такой, значит исходящие в мир на 25 порт с твоего сервера открыты. Если другой, то скорее всего закрыты.

Trying 94.100.177.1...
Connected to smtp.mail.ru.
Escape character is '^]'.
220 smtp21.mail.ru ESMTP ready

У твоего сервера входящие из мира закрыты, тк сервер слушает только на 127.0.0.1:25. Однако на отправку это влияет косвенным образом. Некоторые серверы проверяют, доступен ли ты на получение, когда ты пытаешься им отдать письмо. Соответственно, если ты недоступен, то тебе добавляют -100500 баллов, как спамеру. Могут принять от тебя почту, а могут и не принять.

В гугле вбиваешь «mail blacklists», получаешь кучу сайтов, там проверяешь свой ипишник и домены. Отписываешься.

anto215 ★★ ()
Ответ на: комментарий от anto215
 LISTED	BARRACUDA	109.195.163.157 was listed  Detail	853	78	Ignore
 LISTED	Chile DNSBL	109.195.163.157 was listed  Detail	2100	62	Ignore
 LISTED	SEM BLACK	109.195.163.157 was listed  Detail	253	78	Ignore
 LISTED	SORBS SPAM	109.195.163.157 was listed  Detail	3600	78	Ignore
 LISTED	Spamhaus ZEN	109.195.163.157 was listed  Detail	853	78

Остальное все ок OK

telnet smtp.mail.ru 25

Trying 94.100.177.1...
Connected to smtp.mail.ru.
Escape character is '^]'.
220 smtp29.i.mail.ru ESMTP ready
Connection closed by foreign host.

RayMefise ()
Ответ на: комментарий от RayMefise

И причем тут telnet на 25 порт? Если ip адрес указан в блеклистах, то телнет то разрешен, а вот всякое действите будет уже reject кидать по dnsbl...

fjfalcon ★★★ ()
Ответ на: комментарий от RayMefise

И судя по количеству блеклистов - с вашего ip таки сильно рассылался спам. Потому что здесь не только spamtrap'ы... Я бы рекомендовал либо а) сменить хостинг б) использовать другой почтовый сервер и кидать ему письма через smtp авторизацию.

fjfalcon ★★★ ()
Ответ на: комментарий от RayMefise

barracuda chile http://spameatingmonkey.com/delist.html?list=SEM-BLACK&delist=109.195.163.157 sem

и т.д. Почти по всем спискам с вашего адреса в течении недели были письма на spamtrap'ы - специальные адреса, которые принимают только «спам» и по ним определяется, что рассылается спам. Отсюда и данные в списках. Я бы не был так уверен в том, что спам вы таки не шлёте.

fjfalcon ★★★ ()
Ответ на: комментарий от fjfalcon

Сообщения рассылались с подтверждением регистрации пользователя

RayMefise ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.