The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
не доходят письма, !*! andlis, 13-Мрт-09, 11:42  [смотреть все]
Проблема такая: на сайте, написанном на php есть форма для отправки писем пользователям. Судя по логам на моем сервере, письма людям уходят (Status: Sent), но никому (кроме пользователей, живущих на том же сервере) не приходят. Сначала думал на конечных серверах срезают спам-фильтры. Но нет, проверил один - там нет никаких логов о приходе письма. Есть мысли куда копать?
Вот заголовок такого письма (копия пришла ко мне)

Return-Path: <apache@xxx.ru>
Received: from xxx.ru (localhost.localdomain [127.0.0.1])
by xxx.ru (8.13.4/8.13.4) with ESMTP id n2BFS7DO018762
for <andlis@xxx.ru>; Wed, 11 Mar 2009 18:28:07 +0300
Received: (from apache@localhost)
by xxx.ru (8.13.4/8.13.4/Submit) id n2BFS7eI018761;
Wed, 11 Mar 2009 18:28:07 +0300
Date: Wed, 11 Mar 2009 18:28:07 +0300
Message-Id: <200903111528.n2BFS7eI018761@xxx.ru>
To: andlis@xxx.ru
Subject: RJT newsletter
From: "RJT" <andlis@xxx.ru>
Reply-To: <andlis@xxx.ru>
MIME-Version: 1.0
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: PHP/5.0.4
Content-Type: text/html; charset=windows-1251
Content-Transfer-Encoding: 8bit

Вижу глазами несовпадение Return-Path: и From:
Это конечно плохо. Но как бороться силами php честно говоря не знаю.
HELP!!

  • не доходят письма, !*! ALex_hha, 11:48 , 13-Мрт-09 (1)
    • не доходят письма, !*! andlis, 12:24 , 13-Мрт-09 (2)
      >Покажи лог МТА
      >
      >З.Ы.
      >return path и From и не обязаны совпадать

      Ну не обязаны!.. Но я же не знаю как где спам-фильтры настроены?

      С логом не очень просто, нагрузка на сервер большая, логов мульон. Попробую по порядку. Во-первых на sendmail стоит настройка (пишу из виндов, наизусть синтаксис не помню) фильтровать по адресу отправителя. Relay_from: ***. И честно говоря, apache там не означен как разрешенный адрес.
      О сием говорит и следующий лог (специально только что инспирированный - это я честно в Outlook Express создал пользователя апач ну и отправил письмо):
      Mar 13 12:01:58 zmmu sendmail[6223]: n2D91weS006223: ruleset=check_rcpt, arg1=<tesak@yyyy.ru>, relay=[192.168.1.27], reject=550 5.7.1 <tesak@yyy.ru>... Relaying denied. IP name lookup failed [192.168.1.27]
      Mar 13 12:01:58 zmmu sendmail[6223]: n2D91weS006223: from=<apache@xxx.ru>, size=0, class=0, nrcpts=0, proto=SMTP, daemon=MTA, relay=[192.168.1.27]

      Теперь отправляю через php

      Mar 13 12:03:45 zmmu sendmail[6311]: n2D93juW006311: from=apache, size=6793, class=0, nrcpts=1, msgid=<200903130903.n2D93juW006311@xxx.ru>, relay=apache@localhost
      Mar 13 12:03:53 zmmu sendmail[6311]: n2D93juW006311: to=aborisen@yyy.ca, ctladdr=apache (48/48), delay=00:00:08, xdelay=00:00:08, mailer=relay, pri=36793, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (n2D93jk4006313 Message accepted for delivery)

      Тихо мирно, никакой ругани. Письмо умерло.

    • не доходят письма, !*! andlis, 12:59 , 13-Мрт-09 (3)
      >Покажи лог МТА

      Ну вот говорил мульон логов! Каюсь, посмотрел только на один pid, а их на письмо два.
      Такой лог:
      Mar 13 12:27:46 zmmu sendmail[9062]: n2D9RkaE009062: from=apache, size=6793, class=0, nrcpts=1, msgid=<200903130927.n2D9RkaE009062@xxx.ru>, relay=apache@localhost
      Mar 13 12:27:46 zmmu sendmail[9063]: n2D9RkKE009063: from=<apache@xxx.ru>, size=7018, class=0, nrcpts=1, msgid=<200903130927.n2D9RkaE009062@xxx.ru>, proto=ESMTP, daemon=MTA, relay=localhost.localdomain [127.0.0.1]

      Mar 13 12:27:54 zmmu sendmail[9063]: n2D9RkKE009063: discarded
      Mar 13 12:27:54 zmmu sendmail[9062]: n2D9RkaE009062: to=aborisen@yyy.ca, ctladdr=apache (48/48), delay=00:00:08, xdelay=00:00:08, mailer=relay, pri=36793, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (n2D9RkKE009063 Message accepted for delivery)

      Ну вроде ясно - отлуп.
      Не ясно совсем почему сначала отлуп, а потом Sent... Получается первая запись [9062] он переписывает apache@localhost в apache@xxx.ru? А потом [9063] пытается послать письмо aborisen@yyy.ca и получает отлуп?

      • не доходят письма, !*! ALex_hha, 13:56 , 13-Мрт-09 (4)
      • не доходят письма, !*! Medlar, 14:20 , 13-Мрт-09 (5)
        • не доходят письма, !*! andlis, 16:27 , 13-Мрт-09 (6)
          >>А при чем тут тогда postfix, если у вас используется sendmail?!!!

          Какой postfix, матушки??? Не было никакого постфикса!

          >Покажите лог так egrep "n2D9RkaE009062|n2D9RkKE009063" maillog

          Так я же привел как раз! См выше.

          • не доходят письма, !*! Medlar, 17:19 , 13-Мрт-09 (7)
            • не доходят письма, !*! andlis, 17:32 , 13-Мрт-09 (8)
              >Видела. Хотелось точного ответа именно по грепу, ну да ладно ...
              >

              Mar 13 17:00:38 zmmu sendmail[5518]: n2DE0csd005518: from=apache, size=6793, class=0, nrcpts=1, msgid=<200903131400.n2DE0csd005518@xxx.ru>, relay=apache@localhost
              Mar 13 17:00:38 zmmu sendmail[5519]: n2DE0ccT005519: from=<apache@xxx.ru>, size=7018, class=0, nrcpts=1, msgid=<200903131400.n2DE0csd005518@xxx.ru>, proto=ESMTP, daemon=MTA, relay=localhost.localdomain [127.0.0.1]
              Mar 13 17:00:46 zmmu sendmail[5519]: n2DE0ccT005519: discarded
              Mar 13 17:00:46 zmmu sendmail[5518]: n2DE0csd005518: to=aborisen@yyy.ca, ctladdr=apache (48/48), delay=00:00:08, xdelay=00:00:08, mailer=relay, pri=36793, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (n2DE0ccT005519 Message accepted for delivery)

              >Теперь egrep "yyy.ca|xxx.ru" /etc/mail/access
              >и я думаю, все станет ясно.

              Запись (хоть я и не греп) выглядит так:
              From: apache@xxx.ru   Relay
              Записей
              From: apache@localhost Relay
              и
              From: aborisen@yyy.ca   Relay
              Конечно нет. По крайней мере второй (я надеюсь) не пользуется моим сервером для отправки.


              >[оверквотинг удален]
              >имеет значение не запись
              >Mar 13 12:27:54 zmmu sendmail[9062]: n2D9RkaE009062: to=aborisen@yyy.ca, ctladdr=apache (48/48), delay=00:00:08, xdelay=00:00:08, mailer=relay,
              >
              >>pri=36793, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (n2D9RkKE009063 Message accepted for delivery)
              >
              >(обратите внимание - mailer=relay, а relay=[127.0.0.1] [127.0.0.1], это означает,
              >что письмо пока что попало в /var/spool/clientmqueue)
              >
              >а вот эта запись - это окончательное решение
              >Mar 13 12:27:54 zmmu sendmail[9063]: n2D9RkKE009063: discarded

              Да, это я понимаю..

            • не доходят письма, !*! andlis, 18:03 , 13-Мрт-09 (9)
              Ага!! Вашими молитвами дошел до следующего.
              Вследствие каких-то моих политик (ох если бы помнить все это) sendmail не позволяет отправлять с localhost.localdomain письма наружу.

              Вижу 2 способа решения проблемы (поправьте)
              либо разрешить отправлять локальную почту наружу (помнить бы еще как это)
              либо каким-то образом заставить php-скрипт отправлять почту от имени реального юзера. Как сделать - еще более туманно.
              Все так?

              • не доходят письма, !*! Medlar, 18:13 , 13-Мрт-09 (10)
                • не доходят письма, !*! andlis, 18:19 , 13-Мрт-09 (11)
                  >Ага, как раз собираюсь попросить ваш конфиг&access
                  >У вас 127.0.0.1 RELAY в access или просто 127.0.0.1 в relay-domains имеется?

                  Сдается мне нет. Сейчас поимею и скажу результат.
                  Пробовал добавить
                  From:apache@localhost  RELAY
                  это не помогает.
                  Подлая память подсказывает, что в sendmail.cf а еще честнее в sendmail.mc есть опции как раз вырубающие разные способы пересылки почты. Возможно способ с localhost -> наружу как раз нужно включать специально.

                • не доходят письма, !*! andlis, 18:22 , 13-Мрт-09 (12)
                  я жутко извиняюсь,
                  может быть есть в оперативной памяти информация...
                  можно из командной строки отправить через sendmail письмо от имени некоего пользователя?
                  Что то не ищутся парметры командной строки sendmail...
                  • не доходят письма, !*! Medlar, 18:34 , 13-Мрт-09 (13)
                    • не доходят письма, !*! andlis, 18:50 , 13-Мрт-09 (14)
                      >вы об этом?
                      >http://www.anrb.ru/linux/sendmail_tips.html#4

                      Вероятно да! Спасибо.

                      Идею про
                      >У вас 127.0.0.1 RELAY в access или просто 127.0.0.1 в relay-domains имеется?

                      придется отбросить.
                      127.0.0.1 RELAY в access быть не может - там проверка по адресам.
                      127.0.0.1 в relay-domains теперь имеется. ТОлку чуть :((

                      • не доходят письма, !*! Medlar, 18:59 , 13-Мрт-09 (15)
                        • не доходят письма, !*! andlis, 19:05 , 13-Мрт-09 (16)
                          >не прикручены ли у вас через milter какие-нить доп. фильтры?

                          прикручены.

                          divert(-1)
                          include(`/usr/share/sendmail-cf/m4/cf.m4')
                          divert(0)dnl
                          VERSIONID(`@(#)zmmu.mc')
                          OSTYPE(`linux')dnl
                          define(`confDOMAIN_NAME', `xxx.ru')dnl
                          CLIENT_OPTIONS(`Family=inet,Address=xxx.xxx.xxx.xxx`)dnl
                          ## KASPERSKY ANTI-SPAM BEGIN
                          INPUT_MAIL_FILTER(`kasfilter',`S=local:/var/run/kas-milter.socket, T=C:10s;S:20s;R:30s')
                          define(`confINPUT_MAIL_FILTERS',`kasfilter')
                          define(`confMILTER_LOG_LEVEL',`1')
                          ## KASPERSKY ANTI-SPAM END
                          FEATURE(`access_db')dnl
                          FEATURE(`relay_mail_from')dnl
                          MAILER(local)dnl
                          MAILER(smtp)dnl
                          define(`confMAILER_NAME', `ZMMUMAILER-DAEMON')dnl
                          define(`confTO_QUEUERETURN', `15d')dnl
                          define(`confTO_QUEUEWARN', `1d')dnl
                          define(`confMAX_MESSAGE_SIZE', `10000000')

                          Это спам фильтр от Касперского и ручная проверялка релея (ой мама!! - покопаю). Но они всегда! и честно! пишут когда режут чего..

                          Kstorage macro

                          KNOSPAM01 regex -a@MATCH yahoo.com|google.com|192\.168\.1|arsalon.net|msu.ru
                          KSPAM7 regex -a@MATCH [0-9]+[._-]+[0-9]+[._-]+[0-9]+[._-]+[0-9]+[._-]+.*\[.+\]|^\[.+\]|chello.*chello\.pl
                          KSPAM8 regex -a@MATCH ^dsl.*\..*\..*|[ax]dsl.*\..*\..*|client.*\..*\..*|cable.*\..*\..*|pool.*\..*\..*|dial.*\..*\..*|ppp.*\..*\..*|dslam.*\..*\..*|node.*\-.*\-.*

                          LOCAL_RULESETS

                          SLocal_check_relay
                          R$*            $: $(NOSPAM01 $&_ $)
                          R@MATCH            $@ OK

                          R$*            $: $(SPAM7 $&_ $)
                          R@MATCH            $#error $: 553 Sorry, Your relay looks like SPAM7-relay: $&_. If not, please contact the postmaster@zmmu.msu.ru via another relay-ip.

                          SLocal_check_relay
                          R$*            $: $(SPAM8 $&_ $)
                          R@MATCH            $#error $: 553 Sorry, Your relay looks like SPAM-relay: $&_. If not, please contact the postmaster@zmmu.msu.ru via another relay-ip.


                        • не доходят письма, !*! Medlar, 19:25 , 13-Мрт-09 (17)
                        • не доходят письма, !*! andlis, 19:33 , 13-Мрт-09 (18)
                          >у меня к вашему конфигу есть вопросы, но времени сейчас разбирать его
                          >нет

                          ну я думаю!

                          >Как насчет того, чтобы увеличить уровень логирования и для sendmail и для
                          >milter
                          >1 - это сурово :)
                          >
                          >define(`confLOG_LEVEL',`15')
                          >define(`confMILTER_LOG_LEVEL',`18')
                          >подробности по уровням в op.me

                          Ну в данный момент это вряд ли поможет...
                          ТОлько что освоил отправку от другого пользователя. Скоро узнаем поможет ли это..

                        • не доходят письма, !*! andlis, 20:21 , 13-Мрт-09 (19)
                          Medlar, спасибо огромное!

                          Логи я не трогал, но сделал kas3 stop
                          Как, каким образом эта пакость съедала все письма?
                          В общем справедливость восторжествовала! Спасибо еще раз!

                        • не доходят письма, !*! mEDLAR, 09:20 , 14-Мрт-09 (20)
                        • не доходят письма, !*! Medlar, 09:42 , 14-Мрт-09 (21)
                        • не доходят письма, !*! andlis, 12:00 , 14-Мрт-09 (22)
                          >и кстати если бы не ваш очень странный для
                          >milter уровень логирования причина ошибки была бы давным давно ясна
                          >и может не пришлось бы заводить этот тред

                          Ну да.. Так знал бы прикуп... Честно говоря я начал с того, что просмотрел настройки KAS, разрешил отправку почты с соответствующих адресов и тп...
                          А уровень такой, потому что при фоновой активности (моей) никакой пользы кроме вреда от логов KAS я не получаю. Если их еще и раздувать, то вреда станет сильно больше чем пользы.
                          Но в целом каюсь, признаю - был не прав, вспылил!
                          Спасибо еще раз




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру