Костырев Александр Алексеевич
2011-Aug-25 05:17 UTC
[Dovecot] dovecot and maillists problem
Hello there! I have a little trouble with using dovecot as lmtp and maillists. I use dovecot 2.0.13 with exim 4.72 on Debian 6.0. (All stuff at one host). info of maillists is store in mysql table, for example: +---------+-------------------------------------------------------------------------------------------------+ | name | recipients | +---------+-------------------------------------------------------------------------------------------------+ | Hab_Tax | 2504000067-253601001.253809737993 at 25.example.org,2721097514-272101001.271300057673 at .example.org | +---------+-------------------------------------------------------------------------------------------------+ The problem is: When I send a letter to short maillist (as above) it get the same ID and stored only once in the maildir of one user who is the member of that maillist - that's ok, but When I send a letter to maillist with a large number of recipients it occurred that it's saved more than one, because of the headers added by dovecot lmtp (I've changed host name): diff letter_in_one_user/1314238006.M841940P6916.pink\,S\=12778136\,W\=12953189 letler_in_second_user/new/1314237993.M460165P6916.pink\,S\=12778136\,W\=12953189 3,4c3,4 < by pink.atlas-2.ru (Dovecot) with LMTP id 6UiGJBWuVU4EGwAA1nFjLA < ; Thu, 25 Aug 2011 13:06:46 +1100 ---> by pink.atlas-2.ru (Dovecot) with LMTP id VUeGJBWuVU4EGwAA1nFjLA > ; Thu, 25 Aug 2011 13:06:29 +1100It's the same letter accept the date and id. What I get in logs is: I see that exim send letters in maillist with one and the same id: ...skipped... 13:06:46 1QwPKe-0001nU-U5 <2502 at example.org> ... 13:06:47 1QwPKe-0001nU-U5 <2502 at example.org> ... But in logs of dovecot I see: 13:06:14 msgid=<E1QwPKe-0001nU-U5 at pink.example.org>: wUWGJBWuVU4EGwAA1nFjLA: 13:06:18 msgid=<E1QwPKe-0001nU-U5 at pink.example.org>: wEWGJBWuVU4EGwAA1nFjLA: 13:06:22 msgid=<E1QwPKe-0001nU-U5 at pink.example.org>: JkaGJBWuVU4EGwAA1nFjLA: 13:06:26 msgid=<E1QwPKe-0001nU-U5 at pink.example.org>: i0aGJBWuVU4EGwAA1nFjLA: 13:06:30 msgid=<E1QwPKe-0001nU-U5 at pink.example.org>: 8EaGJBWuVU4EGwAA1nFjLA: 13:06:34 msgid=<E1QwPKe-0001nU-U5 at pink.example.org>: VUeGJBWuVU4EGwAA1nFjLA: 13:06:37 msgid=<E1QwPKe-0001nU-U5 at pink.example.org>: ukeGJBWuVU4EGwAA1nFjLA: 13:06:42 msgid=<E1QwPKe-0001nU-U5 at pink.example.org>: H0iGJBWuVU4EGwAA1nFjLA: 13:06:46 msgid=<E1QwPKe-0001nU-U5 at pink.example.org>: hEiGJBWuVU4EGwAA1nFjLA: 13:06:47 msgid=<E1QwPKe-0001nU-U5 at pink.example.org>: 6UiGJBWuVU4EGwAA1nFjLA: Also in dovecot log I've noticed that: at first auth is searching info in sql for 200 users then log continues with lmtp's info then auth is searching info in sql for another portion of users and this loop in log continues. Dovecot.conf: http://pastebin.com/ueCBU3bP dovecot.sql: http://pastebin.com/kqCq52mC dovecot.log http://pastebin.com/YiyMWpx1 exim.conf: http://pastebin.com/F4MNQkAx exim.log: http://pastebin.com/wn83TZpX
On 25.8.2011, at 8.17, ???????? ????????? ?????????? wrote:> The problem is: > When I send a letter to short maillist (as above) it get the same ID and stored only once in the maildir of one user who is the member of that maillist - that's ok, but > When I send a letter to maillist with a large number of recipients it occurred that it's saved more than one, because of the headers added by dovecot lmtp (I've changed host name): > > diff letter_in_one_user/1314238006.M841940P6916.pink\,S\=12778136\,W\=12953189 letler_in_second_user/new/1314237993.M460165P6916.pink\,S\=12778136\,W\=12953189 > 3,4c3,4 > < by pink.atlas-2.ru (Dovecot) with LMTP id 6UiGJBWuVU4EGwAA1nFjLA > < ; Thu, 25 Aug 2011 13:06:46 +1100 > --- >> by pink.atlas-2.ru (Dovecot) with LMTP id VUeGJBWuVU4EGwAA1nFjLA >> ; Thu, 25 Aug 2011 13:06:29 +1100 > > It's the same letter accept the date and id.Try capturing the LMTP traffic between Dovecot and Exim? I'm not sure if there's a good way to capture traffic from UNIX sockets, but at least if Exim and Dovecot talk via TCP there are many ways. The different LMTP ids and dates are added only when there are different DATA commands, which would mean that Exim has sent separate RCPT TO + DATA commands for each of these mails. But that kind of conflicts on your logs that show tons of SQL lookups one after another..