LINUX.ORG.RU
ФорумAdmin

Не приходят письма

 , ,


0

1

Установил Dovecot+Postfix+Roundcube. Через интерфейс Roundcube письма отправляются на yandex.ru, mail.ru, yahoo.com приходит в спам, gmail.com не приходят. Не получаю письма не из одного внешнего почтового сервера, в чём может быть проблема?


письма отправляются на yandex.ru, mail.ru, yahoo.com приходит в спам, gmail.com не приходят.

DNS, в частности SPF.

Не получаю письма не из одного внешнего почтового сервера

Опять таки DNS, MX. 25-й порт окрыт? Доставка из postfix в dovecot настроена?

Что говорят логи?

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

DNS, в частности SPF.

Можно поподробнее как настроить SPF или статью какую.

Опять таки DNS, MX. 25-й порт окрыт? Доставка из postfix в dovecot настроена?

Ставил всё через ISP manager

tcp        0      0 0.0.0.0:110             0.0.0.0:*               LISTEN      3339/dovecot
tcp        0      0 0.0.0.0:143             0.0.0.0:*               LISTEN      3339/dovecot
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1669/rpcbind
tcp        0      0 0.0.0.0:465             0.0.0.0:*               LISTEN      2922/master 
tcp        0      0 5.39.218.97:53          0.0.0.0:*               LISTEN      2143/named  
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      2143/named  
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      2695/sshd   
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      2922/master 
Из каких файлов скинуть логи? p.s. Прошу прощения но в этом деле я новичок.

evolka
() автор топика
Ответ на: комментарий от Pinkbyte

Не смог разобраться c SPF. Делал по этому мануалу https://kura.io/2011/09/17/postfix-dk-dkim-spf/ начиная с SPF В итоге: /etc/init.d/postfix reload [....] Reloading Postfix configuration...postfix: fatal: /etc/postfix/main.cf, line 54: missing '=' after attribute name: «permit_sasl_authenticated,» failed.

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

dig ANY твой_почтовый_домен nslookup внешний_ip_адрес_сервера

root@plantium:~# dig any plantium.ru

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> any plantium.ru
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48257
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;plantium.ru.                   IN      ANY

;; ANSWER SECTION:
plantium.ru.            21599   IN      SOA     ns1.r01.ru. noc.parkline.ru. 2014062303 10800 1800 604800 21600
plantium.ru.            21599   IN      NS      ns1.r01.ru.
plantium.ru.            21599   IN      NS      ns2.r01.ru.
plantium.ru.            21599   IN      A       5.39.218.97

;; Query time: 281 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sat Jun 28 06:36:30 2014
;; MSG SIZE  rcvd: 134

root@plantium:~# nslookup 5.39.218.97
Server:         8.8.8.8
Address:        8.8.8.8#53

** server can't find 97.218.39.5.in-addr.arpa.: NXDOMAIN
evolka
() автор топика
Ответ на: комментарий от evolka

Это не совсем то. По ссылке настраивание проверки SPF в самом postfix (на приём). Это тоже может быть полезным, но ещё пока рановато. Сам SPF же, это просто TXT запись в DNS домейна. Например:

dig TXT dim13.org

Подробнее например тут: http://www.zytrax.com/books/dns/ch9/spf.html

Вся соль в том, что тот же google проверяет spf и не принимает письма (или отправляет их в спам), если проверка была неудачной.

Т.ч. must have.

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

Про логи: смотри в /var/log/mail.log и /var/log/mail.err

Так же можно проверить правильную работу smtp в ручную с внешнего хоста:

telnet example.com smtp
И далее:
HELO localhost
MAIL FROM: user <user@example.com>
RCPT TO: another user <user2@example.com>
DATA
From: user <user@example.com>
To: another user <user2@example.com>
Subject: test

Test mail
.
QUIT

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

Кусочек mail.log

Jun 28 14:47:09 plantium dovecot: pop3-login: Login: user=<info@plantium.ru>, method=PLAIN, rip=5.35.16.23, lip=5.39.218.97, mpid=3964, TLS, session=<C4N12un8wQAFIxAX>
Jun 28 14:47:09 plantium dovecot: pop3(info@plantium.ru): Disconnected: Logged out top=0/0, retr=0/0, del=0/0, size=0
Jun 28 14:47:45 plantium dovecot: imap-login: Login: user=<info@plantium.ru>, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, mpid=3967, secured, session=<+iuh3On88AB/AAAB>
Jun 28 14:47:45 plantium dovecot: imap(info@plantium.ru): Disconnected: Logged out in=104 out=505
Jun 28 14:48:46 plantium dovecot: imap-login: Login: user=<info@plantium.ru>, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, mpid=3970, secured, session=<dZJD4On89gB/AAAB>
Jun 28 14:48:46 plantium dovecot: imap(info@plantium.ru): Disconnected: Logged out in=104 out=505
Jun 28 14:49:09 plantium dovecot: pop3-login: Login: user=<info@plantium.ru>, method=PLAIN, rip=5.35.16.23, lip=5.39.218.97, mpid=3972, TLS, session=<5qCc4en81wAFIxAX>
Jun 28 14:49:09 plantium dovecot: pop3(info@plantium.ru): Disconnected: Logged out top=0/0, retr=0/0, del=0/0, size=0
Jun 28 14:49:47 plantium dovecot: imap-login: Login: user=<info@plantium.ru>, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, mpid=3976, secured, session=<tO3m4+n8/AB/AAAB>
Jun 28 14:49:47 plantium dovecot: imap(info@plantium.ru): Disconnected: Logged out in=104 out=505
Jun 28 14:50:10 plantium dovecot: imap-login: Disconnected (no auth attempts in 1 secs): user=<>, rip=5.35.16.23, lip=5.39.218.97, TLS: SSL_read() failed: error:14094418:SSL routines:SSL3_READ_BYTES:tlsv1 alert unknown ca: SSL alert number 48, session=<JZE45en85wAFIxAX>
Jun 28 14:50:48 plantium dovecot: imap-login: Login: user=<info@plantium.ru>, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, mpid=3997, secured, session=<U5CJ5+n8AgB/AAAB>
Jun 28 14:50:48 plantium dovecot: imap(info@plantium.ru): Disconnected: Logged out in=104 out=505
Jun 28 14:51:09 plantium dovecot: pop3-login: Login: user=<info@plantium.ru>, method=PLAIN, rip=5.35.16.23, lip=5.39.218.97, mpid=3999, TLS, session=<pnPD6On8CAAFIxAX>
Jun 28 14:51:09 plantium dovecot: pop3(info@plantium.ru): Disconnected: Logged out top=0/0, retr=0/0, del=0/0, size=0
mail.err чистый

root@plantium:~# telnet plantium.ru smtp
Trying ::1...
Trying 127.0.0.1...
Connected to plantium.ru.
Escape character is '^]'.
220 plantium.ru ESMTP Sendmail 8.14.4/8.14.4/Debian-4; Sat, 28 Jun 2014 15:05:31 -0400; (No UCE/UBE) logging access from: localhost(OK)-localhost [127.0.0.1]

Письма отправляются на yandex, mail, google так же не принимает. Почту не получаю. Почему то название ящика при получении письма на yandex выглядит info@localhost.localdomain

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

Почему то название ящика при получении письма на yandex выглядит info@localhost.localdomain

А да, старый баг в postfix. Добавь в main.cnf:

myhostname = plantium.ru

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

postfix + dovecot нормально настроены? Твой smtp (postfix) почту то принимает (мыло от norelay@example.com — это был я), но вот доставляется ли это дальше — вопрос.

В master.cf должно быть что-то вроде:

dovecot unix    -       n       n       -       -       pipe
  flags=DRhu user=vmail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${recipient}
И в main.cf что-то вроде:
virtual_transport = dovecot
(Но это только один из вариантов настройки, может и отличаться.)

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

Не вижу MX записи для твоего домена и reverse-записи для IP-адреса. Многие почтовики могут давать отлуп или не присылать письма на данный домен.

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

Тебе это надо не локально, а глобально. Идёшь к своему регистратору r01.ru (web-консоль или как там у тебя?) и настраиваешь там.

И да, Пинки абсолютно прав. Тебе ещё надо настроить PTR запись. Это уже к твоему хострету (к тому, в чьём ip блоке твой ip).

В общем, мыло — это муторный бизнес. Что бы всё работало надо набить немало шишек. =)

Как я всегда говорю: не так страшен спам, как борьба с ним.

PS: тебе ещё надо будет убедиться, что твой мейлер не является open relay — за это тоже бьют. В частности он должен принимать почту только для @plantium.ru, а всем другим адресам давать отлуп.

beastie ★★★★★
()
Последнее исправление: beastie (всего исправлений: 3)
Ответ на: комментарий от Pinkbyte

MX конечно желатенен, но не обязателен.

В общем, что грубо говоря надо настроить со стороны DNS:

У регистратора:

plantium.ru. IN A 5.39.218.97
plantium.ru. IN MX 10 plantium.ru
plantium.ru. IN TXT "v=spf1 a mx ~all"

И у хостера:

97.218.39.5.in-addr.arpa. IN PTR plantium.ru.

Это решит уже часть проблем. Дальше уже смотреть на сам postfix/dovecot.

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

Уже какой день бьюсь с этим делом, устал. добавил в main.cf

virtual_transport = dovecot
запись существовала master.cf
dovecot unix    -       n       n       -       -       pipe
  flags=DRhu user=vmail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${recipient}

Думаю это и есть web консоль http://i64.fastpic.ru/big/2014/0629/00/db658667784e63cafa9140b1838c8b00.jpg добавил так: IP IN TXT «v=spf1 a mx ~all»

evolka
() автор топика
Ответ на: комментарий от beastie

Если имя хоста не будет заканчиваться точкой, то к имени хоста будет добавлено значение поля $ORIGIN

http://i62.fastpic.ru/big/2014/0629/b0/82d2420ad3cea1db6811d1566cdaf5b0.jpg

Нужна ли точка? :))

Надеюсь анафилактический шок у меня не случится если я не доделаю это дело до конца :)))

evolka
() автор топика
Ответ на: комментарий от beastie

В общем, эти манипуляции с DNS, должны решить твою спам-проблему. (Но опять таки, часов 6-8 подождать придётся, пока твои изменения не пропагируют в другие DNS серверы.)

После всего этого надо будет ещё глянуть, почему в обратную сторону, postfix не передаёт письмя в dovecot. Смотреть логи и внимательно читать туториалы. =)

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

Может ли быть так, что письма приходят в одну папку на сервере, а в конфиге postfix написана другая? Как проверить если так?

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

Там уже начинаются несколько вариантов.

  • Postfix может складывать на прямую в Maildir (плохо, т.к. dovecot'у каждый раз приходиться всё индексировать)
  • Использовать LDA — тогда сам dovecot решат, что куда класть (и индексирует сразу)
  • Использовать LMTP — как предыдущий способ, но через сокеты (без привязки к путям и т.п.)

(Лично предпочитаю последний, как наиболее чистый способ.)

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

Письма на гмаэил приходят не в спам! Спасибо beastie. С LDA и LMTP не разберусь, как напрямую сделать?

evolka
() автор топика
Ответ на: комментарий от beastie

Не приходят с яндекса, гугль почему то сам себе это письмо отправляет хотя получатель указан.

evolka
() автор топика
Ответ на: комментарий от evolka
Jun 29 15:57:43 plantium postfix/smtpd[3461]: warning: hash:/etc/mail/access is unavailable. open database /etc/mail/access.db: No such file or directory
Jun 29 15:57:43 plantium postfix/smtpd[3461]: warning: hash:/etc/mail/access: table lookup problem
evolka
() автор топика
Ответ на: комментарий от beastie

Команда заканчивается ошибкой.

postmap: warning: /etc/mail/access, line 105: record is in "key: value" format; is this an alias file?
postmap: warning: /etc/mail/access, line 106: record is in "key: value" format; is this an alias file?
postmap: warning: /etc/mail/access, line 121: record is in "key: value" format; is this an alias file?
Вот эти строки
105 GreetPause:				5000
106 ClientRate:				10
121 #

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

Это что-то совсем не то. access должен был выглядеть примерно вот так (или быть пустым):

spamer@vasya.com REJECT
goodfellow.com   OK
# ...

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

Так, во первых это похоже что sendmail (а его я уже немного подзабыл и формат его не помню :) ). У нас же речь о postfix.

Где у тебя лежат конфиги postfix? В /etc/postfix? Там должен лежать и его родной access (т.е. /etc/postfix/access).

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

Хммм... что за система то? Что-то всё как-то криво и косо.

Ладно, по умолчанию он всё равно пустой. Т.ч.

touch /etc/postfix/access
postmap /etc/postfix/access
И подправить путь в main.cf

На всякий пожаный, вот его формат: http://www.postfix.org/access.5.html

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

Debian 7. sandmail стоял раньше.

Jun 30 06:35:06 plantium postfix/trivial-rewrite[7567]: error: open /etc/mail/domainips: No such file or directory
Jun 30 06:35:21 plantium postfix/smtpd[7582]: error: open database /etc/mail/virtusertable.db: No such file or directory

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

Разбирайся с путями. Что-то у тебя там напутанно. postfix хранит свои патроха в /etc/postfix. (sendmail хранил в /etc/mail)

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