Exim кладет письма, не туда, куда мне надо!

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
azlk
рядовой
Сообщения: 10
Зарегистрирован: 2010-03-07 5:08:51

Exim кладет письма, не туда, куда мне надо!

Непрочитанное сообщение azlk » 2010-03-12 19:45:17

Стоит Ubuntu, Exim+Dovecot, почта обе стороны работает (с сервера пробовал только из шелла).
Exim 4.69 убунтовский, настраивал я его не по руководству лиссяры (честно говоря, побоялся количества непонятных для меня параметров, макросов и прочего) и поставил вместо exim4u с сайта http://exim4u.org, понадеялся, что там он мне облегчит настройки. Но это же принципиально ничего не меняет?

Проблема в следующем: у меня на сервере стоит Egroupware, которую мне надо настроить так, чтобы пользователи могли отправлять и получать почту из своих акаунтов ЕГВ (в настройках стоит стандартный IMAP).
Но я никак не могу сделать даже первый шаг - прочитать почту, которая приходит, из своего акаунта Egroupware.
Проблема в том, что Exim упрямо кладет письма в локальные каталоги пользователей, типа /home/azlk/Maildir/new.
Несмотря на то, что я в конфиге Exim-a прописал уже тупо напрямую, безо всяких макросов:

Код: Выделить всё

maildir_home:
  debug_print = "T: maildir_home for $local_part@$domain"
  driver = appendfile
  .ifdef MAILDIR_HOME_MAILDIR_LOCATION
  directory = MAILDIR_HOME_MAILDIR_LOCATION
  .else
  directory = /home/vmail  <<======================
  .endif
  .ifdef MAILDIR_HOME_CREATE_DIRECTORY
  create_directory
  .endif
  .ifdef MAILDIR_HOME_CREATE_FILE
  create_file = MAILDIR_HOME_CREATE_FILE
  .endif
  delivery_date_add
  envelope_to_add
  return_path_add
  maildir_format
  .ifdef MAILDIR_HOME_DIRECTORY_MODE
  directory_mode = MAILDIR_HOME_DIRECTORY_MODE
  .else
  directory_mode = 0700
  .endif
  .ifdef MAILDIR_HOME_MODE
  mode = MAILDIR_HOME_MODE
  .else
  mode = 0600
  .endif
  mode_fail_narrower = false

Код: Выделить всё

# Dovecot
dovecot_router:
driver = accept
#local_part_suffix = +*
#local_part_suffix_optional
require_files = +/home/vmail/${local_part}/   <<<================!!!
transport = dovecot_transport

Код: Выделить всё

localuser:
  driver = accept
  check_local_user
  transport = local_delivery
  cannot_route_message = No such person at this address

Код: Выделить всё

# This transport is used for local delivery to user mailboxes in traditional
# BSD mailbox format. By default it will be run under the uid and gid of the
# local user, and requires the sticky bit to be set on the /var/mail directory.
# Some systems use the alternative approach of running mail deliveries under a
# particular group instead of using the sticky bit. The commented options below
# show how this can be done.

local_delivery:
  driver = appendfile
  file = /var/mail/$local_part  <<<===========!!!
  delivery_date_add
  envelope_to_add
  return_path_add
  group = mail
  user = $local_part
  mode = 0660
  no_mode_fail_narrower
Ладно, он видит, что я local_user, но тогда в соответствии с local_delivery (выше) должна бы появиться почта в /var/mail/$local_part - но и там ничего нет...
Только что попробовал поменять /var/mail/$local_part на /home/vmail/$local_part - результат тот же.

Поскольку у меня локальных пользователей на сервере, кроме меня, нет, мне нафиг не нужно доставлять что-то локально. Я хотел, чтобы все пользователи Egroupware (и я, в том числе) были виртуальными, и чтобы их письма ложились в каталог /home/vmail/имя_пользователя.
Что интересно, если я вручную кладу письма в каталог /home/vmail/azlk/new, то из акаунта Egroupware я эти письма могу читать! :shock:
Значит, дело в настройках Exim-a, если у меня с логикой еще не все потеряно...
Я наивно предполагал, что настроив Dovecot и указав Exim-у каталог, все срастется, но не тут то было :(
А впереди еще надо будет как-то все это заставить работать с БД и акаунтами ЕГВ, вот жопа....
Подскажите, пожалуйста, что я не так делаю?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: Exim кладет письма, не туда, куда мне надо!

Непрочитанное сообщение dikens3 » 2010-03-12 19:48:57

Куда будет положено письмо, ведомство транспорта, но

Сколько будет использовано транспортов, зависит от роутеров. Без роутеров и транспортов ничего не поможет, покажите их. А лучше попробуйте отладку из полезных скриптов(тема прилеплена). Может и сами поймёте что.

P.S.
До вашего(предполагаемого) роутера может дело и не дойти вовсе.
Вот до этого:

Код: Выделить всё

localuser:
  driver = accept
  check_local_user
  transport = local_delivery
  cannot_route_message = No such person at this address
Ладно, он видит, что я local_user, но тогда в соответствии с local_delivery (выше) должна бы появиться почта в /var/mail/$local_part - но и там ничего нет...
Вот и не появляется видимо поэтому.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35411
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Exim кладет письма, не туда, куда мне надо!

Непрочитанное сообщение Alex Keda » 2010-03-13 8:58:09

доку читать
Убей их всех! Бог потом рассортирует...

azlk
рядовой
Сообщения: 10
Зарегистрирован: 2010-03-07 5:08:51

Re: Exim кладет письма, не туда, куда мне надо!

Непрочитанное сообщение azlk » 2010-03-16 6:17:16

Ну, первую причину нашел: оказывается, все-таки "виновник" - exim4u, у него в базе был прописан несуществующий у меня путь, после того, как поменял на нужный, стали появляться хоть локальные письма!
Но теперь новая вводная: написал сам себе письмо с gmail, а Clamav почему-то решил, что письмо заражено и письмо не проходит :shock:
Смотрю на acl в exim.conf и не могу понять, по каким таким признакам мое письмо без аттача выглядит для него, как вирус?...

Код: Выделить всё

acl_check_content:
# Unpack MIME containers and reject serious errors.
  deny  message         = This message contains a MIME error ($demime_reason)
        demime          = *
        condition       = ${if >{$demime_errorlevel}{2}{1}{0}}
        hosts           = ! +IPwhitelist
        !hosts          = :
        !authenticated  = *
# Reject virus infested messages.
# exim4u: Mod to reject malware at SMTP time instead of sending rejection email in the ditch_malware router.
# Run ClamAV if CLAMENABLED is on.
# exim4u: Add ClamAV header to mail. The variables $acl_m_interface_opt, $acl_m_helo_data and $acl_m_interface
# are included in the header to confirm MULTI_IP interface info.
  warn  condition               = ${if eq{CLAMENABLED}{on}{yes}{no}}
        add_header              = X-Scanned-By: ${extract{1}{/}{${readsocket{inet:localhost:3310}{VERSION}{1s}{} {unscanned}}}} \
                                  $acl_m_interface_opt $acl_m_helo_data ($acl_m_interface); $tod_full\n
# Reject if ClamAV detects malware
  deny  message                 = This message contains malware ($malware_name)
        malware                 = *
        log_message             = This message contains malware ($malware_name)
        condition               = ${if eq{CLAMENABLED}{on}{yes}{no}}

# exim4u: Is ClamAV enabled globally
CLAMENABLED = ${lookup{ClamAV}lsearch{/etc/exim/exim4u_global_spam_virus}}
# exim4u: Calculate the spamreject score
SPAMREJECT = ${eval:${lookup{SpamRejectScore}lsearch{/etc/exim/exim4u_global_spam_virus}} * 10}
# exim4u: Spam tag text
SPAMTAGTEXT = ${lookup{SpamTagText}lsearch{/etc/exim/exim4u_global_spam_virus}}
# exim4u: Max scan size for spamassassin
MAXSCANSIZE = ${eval:${lookup{MaxScanSize}lsearch{/etc/exim/exim4u_global_spam_virus}}}
# exim4u: Spamfolder name
Файл /etc/exim/exim4u_global_spam_virus:

Код: Выделить всё

# ClamAV Global Setting
# When enabled, Exim4U uses ClamAV to scan incoming mail for viruses during
# the SMTP connection. ClamAV is enabled (on) or disabled (off):
ClamAV: on
# Spamassassin Global Setting
# When enabled, Exim4U uses spamassassin to scan for spam during the final phase
# of the SMTP connection. spam_reject_score is the spamassassin score at
# which all mail will be rejected. Keep in mind that Exim4U's web
# interface allows each user to specify a lower spam score for discarding spam
# during the router's delivery such that users can be more aggressive in
# blocking spam on an indivicual basis if they so desire. A SpamRejectScore of
# 10 or higher is generally considered conservative where no "ham" is rejected.
# To globally disable spamassassin altogether, specify a value of 100.
# Spamassassin is enabled (SpamRejectScore < 100) or disabled (SpamRejectScore = 100):
#SpamRejectScore: 100
SpamRejectScore: 10
# Exim4u only calls Spamassassin if the message is less than or equal to the MaxScanSize.
# Specify the maximum size message that Spamassassin will scan:
#MaxScanSize: 50K
MaxScanSize: 125K
# Put the IMAP file name of your spambox folder here:
SpamFolder: .INBOX.spam
А в логе (rejected) вот что:

Код: Выделить всё

2010-03-14 01:32:45 1NqZsz-0003F1-Jh H=mail-bw0-f214.google.com [209.85.218.214] F=<phg.azlk@gmail.com> temporarily  rejected after DATA
Envelope-from: <phg.azlk@gmail.com>
Envelope-to: <azlk@infostat.info>
P Received: from mail-bw0-f214.google.com ([209.85.218.214])
        by infostat.info with esmtp (Exim 4.69)
        (envelope-from <phg.azlk@gmail.com>)
        id 1NqZsz-0003F1-Jh
        for azlk@infostat.info; Sun, 14 Mar 2010 01:32:45 +0300
P Received: by bwz6 with SMTP id 6so2116172bwz.33
        for <azlk@infostat.info>; Sat, 13 Mar 2010 14:29:41 -0800 (PST)
  DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=gamma;
        h=domainkey-signature:received:received:message-id:date:from
         :user-agent:mime-version:to:subject:content-type
         :content-transfer-encoding;
        bh=2xfmBD6lnyw/OBZ0T2sEw+69z48wqdh0Uym6OcQM0FQ=;
        b=uocPmP1wAOGBJGYE14jk9hJ44WR3yhS6xnvFy4gpyMo3ATFhFU/SviYiVgvhjQAlcQ
         JyiN6lkeLqccU7h+GniOD1wYrFtZ9L5kwE2+5cPdHaU5xl0g9rN9WkGIbPq0YmKKgQux
         BFS8N6IX4LsNLIgp/nBdu1CBc5kYgEpHxcRcs=
  DomainKey-Signature: a=rsa-sha1; c=nofws;
        d=gmail.com; s=gamma;
        h=message-id:date:from:user-agent:mime-version:to:subject
         :content-type:content-transfer-encoding;
        b=d13CnmT04hsiZkml95coVrmy5cQ67/ZEHKQvDcs5KtIxznbnkTEnqKtZHzJa/3r6Vj
         +zy/Ua175+dz/7k1cNJ79K64ClzHoAzJFWSTfNTAHpTjz8oQ6Urq7iygbqaJwoHNh3vB
         0jZwpeWEn9/TdmPzgH3WNjRwYYumsuqxeKjQk=
P Received: by 10.204.48.133 with SMTP id r5mr3566600bkf.58.1268432130710;
        Fri, 12 Mar 2010 14:15:30 -0800 (PST)
* Return-Path: <phg.azlk@gmail.com>
P Received: from [192.168.1.3] (95-25-198-86.broadband.corbina.ru [95.25.198.86])
        by mx.google.com with ESMTPS id 13sm1158615bwz.11.2010.03.12.14.15.29
        (version=TLSv1/SSLv3 cipher=RC4-MD5);
        Fri, 12 Mar 2010 14:15:29 -0800 (PST)
I Message-ID: <4B9ABD3E.1070908@gmail.com>
  Date: Sat, 13 Mar 2010 01:16:30 +0300
F From: azlk <phg.azlk@gmail.com>
  User-Agent: Thunderbird 2.0.0.23 (X11/20090812)
  MIME-Version: 1.0
T To: azlk@infostat.info
  Subject: Testtttt eximmm =?UTF-8?B?0Y3QutC30LjQvCDRgdC+0LHQsNC60LAg0YLRiyA=?=
 =?UTF-8?B?0LPQtNC1IT8=?=
  Content-Type: text/plain; charset=UTF-8; format=flowed
  Content-Transfer-Encoding: 8bit
  X-Scanned-By: unscanned primary on infostat.info (217.199.218.97); Sun, 14 Mar 2010 01:32:45 +0300
2010-03-14 06:27:22 1NqeSj-0000fK-5B H=mail-bw0-f214.google.com [209.85.218.214] F=<phg.azlk@gmail.com> temporarily rejected after DATA: Greylisted <<4B9ABD3E.1070908@gmail.com>> from <phg.azlk@gmail.com> for offences: Message has 15 integer spamscore points,
Envelope-from: <phg.azlk@gmail.com>
Envelope-to: <azlk@infostat.info>
P Received: from mail-bw0-f214.google.com ([209.85.218.214])
        by infostat.info with esmtp (Exim 4.69)
        (envelope-from <phg.azlk@gmail.com>)
        id 1NqeSj-0000fK-5B
        for azlk@infostat.info; Sun, 14 Mar 2010 06:25:57 +0300
P Received: by bwz6 with SMTP id 6so2191561bwz.33
        for <azlk@infostat.info>; Sat, 13 Mar 2010 19:22:53 -0800 (PST)
  DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=gamma;
        h=domainkey-signature:received:received:message-id:date:from
         :user-agent:mime-version:to:subject:content-type
         :content-transfer-encoding;
        bh=2xfmBD6lnyw/OBZ0T2sEw+69z48wqdh0Uym6OcQM0FQ=;
        b=uocPmP1wAOGBJGYE14jk9hJ44WR3yhS6xnvFy4gpyMo3ATFhFU/SviYiVgvhjQAlcQ
         JyiN6lkeLqccU7h+GniOD1wYrFtZ9L5kwE2+5cPdHaU5xl0g9rN9WkGIbPq0YmKKgQux
         BFS8N6IX4LsNLIgp/nBdu1CBc5kYgEpHxcRcs=
  DomainKey-Signature: a=rsa-sha1; c=nofws;
        d=gmail.com; s=gamma;
        h=message-id:date:from:user-agent:mime-version:to:subject
         :content-type:content-transfer-encoding;
        b=d13CnmT04hsiZkml95coVrmy5cQ67/ZEHKQvDcs5KtIxznbnkTEnqKtZHzJa/3r6Vj
         +zy/Ua175+dz/7k1cNJ79K64ClzHoAzJFWSTfNTAHpTjz8oQ6Urq7iygbqaJwoHNh3vB
         0jZwpeWEn9/TdmPzgH3WNjRwYYumsuqxeKjQk=
P Received: by 10.204.48.133 with SMTP id r5mr3566600bkf.58.1268432130710;
        Fri, 12 Mar 2010 14:15:30 -0800 (PST)
* Return-Path: <phg.azlk@gmail.com>
P Received: from [192.168.1.3] (95-25-198-86.broadband.corbina.ru [95.25.198.86])
        by mx.google.com with ESMTPS id 13sm1158615bwz.11.2010.03.12.14.15.29
        (version=TLSv1/SSLv3 cipher=RC4-MD5);
        Fri, 12 Mar 2010 14:15:29 -0800 (PST)
I Message-ID: <4B9ABD3E.1070908@gmail.com>
  Date: Sat, 13 Mar 2010 01:16:30 +0300
F From: azlk <phg.azlk@gmail.com>
  User-Agent: Thunderbird 2.0.0.23 (X11/20090812)
  MIME-Version: 1.0
T To: azlk@infostat.info
  Subject: Testtttt eximmm =?UTF-8?B?0Y3QutC30LjQvCDRgdC+0LHQsNC60LAg0YLRiyA=?=
 =?UTF-8?B?0LPQtNC1IT8=?=
  Content-Type: text/plain; charset=UTF-8; format=flowed
  Content-Transfer-Encoding: 8bit
  X-Scanned-By: ClamAV 0.95.3 primary on infostat.info (217.199.218.97); Sun, 14 Mar 2010 06:25:57 +0300
  X-Spam-Score: 1.5 (+)
  X-Spam-Report: Spam detection software, running on the system "infostat.info", has
        identified this incoming email as possible spam.  The original message
        has been attached to this so you can view it (if it isn't spam) or label
        similar future email.  If you have any questions, see
        the administrator of that system for details.
        Content preview:  Больше не могу уже, начинай работать,
        зараза! Tetttttttttt eximmmm [...]
        Content analysis details:   (1.5 points, 5.0 required)
        pts rule name              description
        ---- ---------------------- --------------------------------------------------
        1.3 PLING_QUERY            Subject has exclamation mark and question mark
        0.0 DKIM_SIGNED            Domain Keys Identified Mail: message has a signature
        0.2 SARE_SUB_ENC_UTF8      Message uses character set often used in spam
paniclog:

Код: Выделить всё

2010-03-13 01:41:53 1NqDYH-0005BU-C0 malware acl condition: clamd: ClamAV returned /var/spool/exim4/scan/1NqDYH-0005BU-C0: lstat() failled: Permission denied. ERROR
2010-03-13 02:17:51 1NqE75-0005vH-Iy malware acl condition: clamd: ClamAV returned /var/spool/exim4/scan/1NqE75-0005vH-Iy: lstat() failled: Permission denied. ERROR
2010-03-13 03:09:43 1NqEvG-0006yV-Sf malware acl condition: clamd: ClamAV returned /var/spool/exim4/scan/1NqEvG-0006yV-Sf: lstat() failled: Permission denied. ERROR
2010-03-13 03:57:59 1NqFfz-0007mK-J4 malware acl condition: clamd: ClamAV returned /var/spool/exim4/scan/1NqFfz-0007mK-J4: lstat() failled: Permission denied. ERROR
2010-03-13 05:17:00 1NqGuS-00013S-G5 malware acl condition: clamd: ClamAV returned /var/spool/exim4/scan/1NqGuS-00013S-G5: lstat() failled: Permission denied. ERROR
2010-03-13 07:04:37 1NqIab-0000nO-PP malware acl condition: clamd: ClamAV returned /var/spool/exim4/scan/1NqIab-0000nO-PP: lstat() failled: Permission denied. ERROR
2010-03-13 08:22:13 1NqJnh-0002Rr-GJ malware acl condition: clamd: ClamAV returned /var/spool/exim4/scan/1NqJnh-0002Rr-GJ: lstat() failled: Permission denied. ERROR
2010-03-13 10:18:53 1NqLcb-0004MZ-Ca malware acl condition: clamd: ClamAV returned /var/spool/exim4/scan/1NqLcb-0004MZ-Ca: lstat() failled: Permission denied. ERROR
2010-03-13 12:29:01 1NqNeX-0006dl-Q0 malware acl condition: clamd: ClamAV returned /var/spool/exim4/scan/1NqNeX-0006dl-Q0: lstat() failled: Permission denied. ERROR
2010-03-13 14:43:13 1NqPkO-0000OZ-Ub malware acl condition: clamd: ClamAV returned /var/spool/exim4/scan/1NqPkO-0000OZ-Ub: lstat() failled: Permission denied. ERROR
2010-03-13 17:08:48 1NqS1I-0002zJ-JW malware acl condition: clamd: ClamAV returned /var/spool/exim4/scan/1NqS1I-0002zJ-JW: lstat() failled: Permission denied. ERROR
2010-03-13 20:43:20 1NqVMu-0006mM-TX malware acl condition: clamd: ClamAV returned /var/spool/exim4/scan/1NqVMu-0006mM-TX: lstat() failled: Permission denied. ERROR
2010-03-13 22:41:18 1NqXD4-0000H5-1i malware acl condition: clamd: ClamAV returned /var/spool/exim4/scan/1NqXD4-0000H5-1i: lstat() failled: Permission denied. ERROR
2010-03-14 01:32:45 1NqZsz-0003F1-Jh malware acl condition: clamd: ClamAV returned /var/spool/exim4/scan/1NqZsz-0003F1-Jh: lstat() failled: Permission denied. ERROR
Мда, похоже, я еще много чего накосячил... :(
буду читать, пока мозги на лоб не вылезут.

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: Exim кладет письма, не туда, куда мне надо!

Непрочитанное сообщение dikens3 » 2010-03-16 9:50:40

ClamAv не может просканировать письмо, нет доступа туда. Думайте над правами.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

azlk
рядовой
Сообщения: 10
Зарегистрирован: 2010-03-07 5:08:51

Re: Exim кладет письма, не туда, куда мне надо!

Непрочитанное сообщение azlk » 2010-03-16 18:36:59

dikens3 писал(а):ClamAv не может просканировать письмо, нет доступа туда. Думайте над правами.
Большое Вам спасибо за подсказки, потому что для меня это пока почти что китайская грамота. Смотришь на логи - а что происходит не понимаешь :(