The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Из логов Postfix пропала инфа, !*! evildevel, 01-Июн-17, 17:47  [смотреть все]
Всем привет.

С недавнего времени Postfix (2.11.3) перестал писать в лог сообщения status=(sent|bounced|deferred). Работал больше года, все было ок и вдруг такая фигня. Работает все это добро на Debian 8.2. Ай нид хелп!

Сейчас в mail.log пишется примерно это:


May 31 16:18:44 localhost postfix/pickup[925]: 103B7A19AB: uid=33 from=<bounce-6eaa3c6e6bf6a99af055ead53fea9efd@whitelabel.a.ru>

May 31 16:18:44 localhost postfix/cleanup[472]: 103B7A19AB: replace: header Received: by email.b.ru (Postfix, from userid 33)??id 103B7A19AB; Wed, 31 May 2017 16:18:44 +0300 (MSK) from local; from=<bounce-6eaa3c6e6bf6a99af055ead535ead53fea9efd@whitelabel.a.ru>: Received: by email.b.ru

May 31 16:18:44 localhost postfix/cleanup[472]: 103B7A19AB: message-id=<18246948@whitelabel.a.ru>

  • Из логов Postfix пропала инфа, !*! Аноним, 01:11 , 02-Июн-17 (1)
  • Из логов Postfix пропала инфа, !*! eRIC, 07:01 , 02-Июн-17 (2)
    • Из логов Postfix пропала инфа, !*! evildevel, 11:19 , 05-Июн-17 (3)
      Спасибо за ответы, но как выяснилось логгирование postfix/smtp работает в
      некоторых ситуациях. Попробую описать проблему более детально.

      Postfix настроен на отправку писем от 7 различных доменов. Каждый домен настроен
      на отдельный IP адрес.

      Код на PHP который отправляет письма


      mail(
          'to@recepient.com',
          'subject',
          'message',
          implode("\r\n", Array(
              'From: from@sender1.com'
          )),
          // MD5 хэш получателя нужен для отлова емайла в FBL от некоторых почтовиков
          '-fbounce-' . md5('to@recepient.com') . '@whitelabel.sender1.com'
      )

      Я ЗАМЕТИЛ ОДНУ ОСОБЕННОСТЬ
      Строка '-fbounce-' . md5('to@recepient.com') . '@whitelabel.sender1.com'. Если в
      этой строке используется домен "whitelabel.sender1.com" или любой другой для
      которого настроен транспорт в /etc/postfix/sdd_transport_maps.regexp, то логи
      postfix/smtp не пишутся. Если изменить на
      '-fbounce-' . md5('to@recepient.com') . '@sender1.com' (убрали "whitelabel"), в
      таком случае в mail.log успешно пишутся сообщения от postfix/smtp о доставке
      писем.

      Получается, что логгирование postfix/smtp работает только для тех отправителей,
      для которых не настроен транспорт в Postfix.

      Куда копать имея эту инфу? Уже неделю мучаемся, помогите плз разобраться.

      #cat /etc/postfix/main.cf


      smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
      biff = no

      append_dot_mydomain = no

      delay_warning_time = 1h
      maximal_queue_lifetime = 1d
      bounce_queue_lifetime = 1d

      smtp_data_init_timeout = 240s
      smtp_data_xfer_timeout = 600s

      queue_run_delay = 180s
      minimal_backoff_time = 300s
      maximal_backoff_time = 7200s

      readme_directory = no

      smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
      smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
      smtpd_use_tls=yes
      smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
      smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

      smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
      myhostname = email.xxx.ru
      alias_maps = hash:/etc/aliases
      alias_database = hash:/etc/aliases
      myorigin = /etc/mailname
      mydestination =
      relayhost =
      mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
      mailbox_command = procmail -a "$EXTENSION"
      mailbox_size_limit = 0
      recipient_delimiter = +
      inet_interfaces = all

      virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
      virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf

      milter_default_action = accept
      milter_protocol = 2
      smtpd_milters = inet:localhost:8891
      non_smtpd_milters = inet:localhost:8891

      virtual_transport = dovecot
      dovecot_destination_recipient_limit = 1

      smtpd_sasl_auth_enable = yes
      smtpd_sasl_type = dovecot
      smtpd_sasl_path = private/auth
      smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
      smtpd_sender_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
      sender_dependent_default_transport_maps = regexp:/etc/postfix/sdd_transport_maps.regexp
      header_checks = regexp:/etc/postfix/header_checks

      #cat /etc/postfix/master.cf


      smtp      inet  n       -       -       -       -       smtpd
          -o content_filter=spamassassin
      pickup    unix  n       -       -       60      1       pickup
      cleanup   unix  n       -       -       -       0       cleanup
      qmgr      unix  n       -       n       300     1       qmgr
      tlsmgr    unix  -       -       -       1000?   1       tlsmgr
      rewrite   unix  -       -       -       -       -       trivial-rewrite
      bounce    unix  -       -       -       -       0       bounce
      defer     unix  -       -       -       -       0       bounce
      trace     unix  -       -       -       -       0       bounce
      verify    unix  -       -       -       -       1       verify
      flush     unix  n       -       -       1000?   0       flush
      proxymap  unix  -       -       n       -       -       proxymap
      proxywrite unix -       -       n       -       1       proxymap
      smtp      unix  -       -       -       -       -       smtp
      relay     unix  -       -       -       -       -       smtp
      showq     unix  n       -       -       -       -       showq
      error     unix  -       -       -       -       -       error
      retry     unix  -       -       -       -       -       error
      discard   unix  -       -       -       -       -       discard
      local     unix  -       n       n       -       -       local
      virtual   unix  -       n       n       -       -       virtual
      lmtp      unix  -       -       -       -       -       lmtp
      anvil     unix  -       -       -       -       1       anvil
      scache    unix  -       -       -       -       1       scache
      maildrop  unix  -       n       n       -       -       pipe
          flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
      uucp      unix  -       n       n       -       -       pipe
          flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
      ifmail    unix  -       n       n       -       -       pipe
          flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
      bsmtp     unix  -       n       n       -       -       pipe
          flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
      scalemail-backend unix    -    n    n    -    2    pipe
          flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
      mailman   unix  -       n       n       -       -       pipe
          flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
          ${nexthop} ${user}
      dovecot      unix  -    n    n    -    -    pipe
          flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${recipient}
      submission inet n    -    n    -    -    smtpd
          -o smtpd_sasl_auth_enable=yes
          -o smtpd_client_restrictions=permit_sasl_authenticated,permit_mynetworks,reject
      spamassassin unix - n n - - pipe
          user=spamd argv=/usr/bin/spamc -f -e
          /usr/sbin/sendmail -oi -f ${sender} ${recipient}

      u1000001 unix   -       -       n       -       -       smtp
          -o smtp_bind_address=1.1.1.1
          -o smtp_helo_name=whitelabel.sender1.com
          -o syslog_name=postfix-u1000001

      u1000002 unix   -       -       n       -       -       smtp
              -o smtp_bind_address=1.1.1.2
              -o smtp_helo_name=whitelabel.sender2.com
              -o syslog_name=postfix-u1000002

      u1000003 unix   -       -       n       -       -       smtp
              -o smtp_bind_address=1.1.1.3
              -o smtp_helo_name=whitelabel.sender3.com
              -o syslog_name=postfix-u1000003

      u1000004 unix   -       -       n       -       -       smtp
              -o smtp_bind_address=1.1.1.4
              -o smtp_helo_name=whitelabel.sender4.com
              -o syslog_name=postfix-u1000004

      u1000005 unix   -       -       n       -       -       smtp
              -o smtp_bind_address=1.1.1.5
              -o smtp_helo_name=whitelabel.sender5.com
              -o syslog_name=postfix-u1000005

      u1000006 unix   -       -       n       -       -       smtp
              -o smtp_bind_address=1.1.1.6
              -o smtp_helo_name=whitelabel.sender6.com
              -o syslog_name=postfix-u1000006

      u1000007 unix   -       -       n       -       -       smtp
              -o smtp_bind_address=1.1.1.7
              -o smtp_helo_name=whitelabel.sender7.com
              -o syslog_name=postfix-u1000007


      #cat /etc/postfix/sdd_transport_maps.regexp


      /@whitelabel\.sender1\.com$/ u1000001:
      /@whitelabel\.sender2\.com$/ u1000002:
      /@whitelabel\.sender3\.com$/ u1000003:
      /@whitelabel\.sender4\.com$/ u1000004:
      /@whitelabel\.sender5\.com$/ u1000005:
      /@whitelabel\.sender6\.com$/ u1000006:
      /@whitelabel\.sender7\.com$/ u1000007:

      • Из логов Postfix пропала инфа, !*! Аноним, 13:26 , 05-Июн-17 (4) +1
        • Из логов Postfix пропала инфа, !*! eRIC, 07:24 , 07-Июн-17 (5)
        • Из логов Postfix пропала инфа, !*! evildevel, 08:35 , 07-Июн-17 (6)
          > Скорей всего ваш демон сислога по этой строке определяет в какой файл
          > писать логи постфикса.
          > Закомментируйте этот параметр в master.cf у ваших транспортов, или найдите конфиг сислога
          > и отредактируйте его.

          Удалил для u1000001 параметр -o syslog_name=postfix-u1000001, перезапустил Postfix, ничего не изменилось, ситуация все та же. Похоже, что проблема не в этом. Самое интересное, что все это работало более года ранее и совсем недавно перестало корректно работать. Прикладываю листинг конфига rsyslog. Может кто-то возьмется на платной основе за решение этой проблемы? Какие еще есть мысли?

          # cat /etc/rsyslog.conf


          #  /etc/rsyslog.conf    Configuration file for rsyslog.
          #
          #            For more information see
          #            /usr/share/doc/rsyslog-doc/html/rsyslog_conf.html


          #################
          #### MODULES ####
          #################

          $ModLoad imuxsock # provides support for local system logging
          $ModLoad imklog   # provides kernel logging support
          #$ModLoad immark  # provides --MARK-- message capability

          # provides UDP syslog reception
          #$ModLoad imudp
          #$UDPServerRun 514

          # provides TCP syslog reception
          #$ModLoad imtcp
          #$InputTCPServerRun 514


          ###########################
          #### GLOBAL DIRECTIVES ####
          ###########################

          #
          # Use traditional timestamp format.
          # To enable high precision timestamps, comment out the following line.
          #
          $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat

          #
          # Set the default permissions for all log files.
          #
          $FileOwner root
          $FileGroup adm
          $FileCreateMode 0640
          $DirCreateMode 0755
          $Umask 0022

          #
          # Where to place spool and state files
          #
          $WorkDirectory /var/spool/rsyslog

          #
          # Include all config files in /etc/rsyslog.d/
          #
          $IncludeConfig /etc/rsyslog.d/*.conf


          ###############
          #### RULES ####
          ###############

          #
          # First some standard log files.  Log by facility.
          #
          auth,authpriv.*            /var/log/auth.log
          *.*;auth,authpriv.none        -/var/log/syslog
          #cron.*                /var/log/cron.log
          daemon.*            -/var/log/daemon.log
          kern.*                -/var/log/kern.log
          lpr.*                -/var/log/lpr.log
          mail.*                -/var/log/mail.log
          user.*                -/var/log/user.log

          #
          # Logging for the mail system.  Split it up so that
          # it is easy to write scripts to parse these files.
          #
          mail.info            -/var/log/mail.info
          mail.warn            -/var/log/mail.warn
          mail.err            /var/log/mail.err

          #
          # Logging for INN news system.
          #
          news.crit            /var/log/news/news.crit
          news.err            /var/log/news/news.err
          news.notice            -/var/log/news/news.notice

          #
          # Some "catch-all" log files.
          #
          *.=debug;\
              auth,authpriv.none;\
              news.none;mail.none    -/var/log/debug
          *.=info;*.=notice;*.=warn;\
              auth,authpriv.none;\
              cron,daemon.none;\
              mail,news.none        -/var/log/messages

          #
          # Emergencies are sent to everybody logged in.
          #
          *.emerg                :omusrmsg:*

          #
          # I like to have messages displayed on the console, but only on a virtual
          # console I usually leave idle.
          #
          #daemon,mail.*;\
          #    news.=crit;news.=err;news.=notice;\
          #    *.=debug;*.=info;\
          #    *.=notice;*.=warn    /dev/tty8

          # The named pipe /dev/xconsole is for the `xconsole' utility.  To use it,
          # you must invoke `xconsole' with the `-file' option:
          #
          #    $ xconsole -file /dev/xconsole [...]
          #
          # NOTE: adjust the list below, or you'll go crazy if you have a reasonably
          #      busy site..
          #
          daemon.*;mail.*;\
              news.err;\
              *.=debug;*.=info;\
              *.=notice;*.=warn    |/dev/xconsole

          # ls /etc/rsyslog.d/


          postfix.conf

          # cat /etc/rsyslog.d/postfix.conf


          # Create an additional socket in postfix's chroot in order not to break
          # mail logging when rsyslog is restarted.  If the directory is missing,
          # rsyslog will silently skip creating the socket.
          $AddUnixListenSocket /var/spool/postfix/dev/log




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

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