[Dovecot] maildir_copy_with_hardlinks on v.2.0.19

mailing list subscriber mailinglists35 at gmail.com
Mon Jul 23 22:12:02 EEST 2012


On Sun, Jul 22, 2012 at 2:59 PM, mailing list subscriber
<mailinglists35 at gmail.com> wrote:
> Hi,
>
> I'm trying to get the so-called "single instance store" (I think cyrus
> has got the name for the first time) with dovecot --version = 2.0.19
> binary package installed from ubuntu 12.04 lts official repo.

As requested, here is my update. As you can see I am running now the
latest release however emails delivered through lmtp gets split into
different files instead of expected hardlinked files.

Please pay attention as I'm commenting in-between different pasted outputs:

# 2.1.8 (30b0d6b1c581): /etc/dovecot/dovecot.conf
# OS: Linux 3.2.0-26-generic x86_64 Ubuntu 12.04 LTS
auth_username_format = %Ln
auth_verbose = yes
auth_verbose_passwords = plain
mail_location = maildir:~/Maildir
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope
encoded-character vacation subaddress comparator-i;ascii-numeric
relational regex imap4flags copy include variables body enotify
environment mailbox date ihave
namespace inbox {
  inbox = yes
  location =
  prefix =
}
passdb {
  driver = pam
}
plugin {
  autocreate = Inbox
  autocreate2 = Sent
  autocreate3 = Drafts
  autocreate4 = Spam
  autocreate5 = Trash
  autosubscribe = Inbox
  autosubscribe2 = Sent
  autosubscribe3 = Drafts
  autosubscribe4 = Spam
  autosubscribe5 = Trash
  mail_log_events = delete expunge mailbox_delete mailbox_rename
  mail_log_fields = uid box msgid size
  sieve = ~/.dovecot.sieve
  sieve_dir = ~/sieve
}
protocols = imap pop3 sieve lmtp
service auth {
  unix_listener /var/spool/postfix/private/dovecot-auth {
    group = postfix
    mode = 0660
    user = postfix
  }
}
service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    group = postfix
    mode = 0660
    user = postfix
  }
}
ssl_cert = </etc/ssl/certs/dovecot.pem
ssl_cipher_list =
ALL:!LOW:!SSLv2:ALL:!aNULL:!ADH:!eNULL:!EXP:RC4+RSA:+HIGH:+MEDIUM
ssl_key = </etc/ssl/private/dovecot.pem
userdb {
  driver = passwd
}
verbose_proctitle = yes
protocol imap {
  imap_client_workarounds = delay-newmail
  mail_max_userip_connections = 10
  mail_plugins = " autocreate"
}
protocol pop3 {
  mail_max_userip_connections = 10
  pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
}
protocol lda {
  deliver_log_format = msgid=%m: %$
  mail_plugins = sieve
  postmaster_address = postmaster
  quota_full_tempfail = yes
  rejection_reason = Your message to <%t> was automatically rejected:%n%r
}

for your pleasure, here is the transaction (note the same queue id and
a single lmtp session for all three recipients)

Jul 23 21:47:32 imap postfix/qmgr[27463]: 6746C27C687:
from=<root at imap.mydomain.ro>, size=532, nrcpt=3 (queue active)
Jul 23 21:47:32 imap dovecot: lmtp(40609): Connect from local
Jul 23 21:47:32 imap dovecot: lmtp(40609, anotheruser):
pnuDHkScDVChngAA7nOI2A:
msgid=<20120723184732.6746C27C687 at imap.mydomain.ro>: saved mail to
INBOX
Jul 23 21:47:32 imap postfix/lmtp[40608]: 6746C27C687:
to=<anotheruser at mydomain.ro>,
relay=imap.mydomain.ro[private/dovecot-lmtp], delay=0.26,
delays=0.15/0.01/0/0.1, dsn=2.0.0, status=sent (250 2.0.0
<anotheruser at mydomain.ro> pnuDHkScDVChngAA7nOI2A Saved)
Jul 23 21:47:32 imap dovecot: lmtp(40609, firstuser):
pnuDHkScDVChngAA7nOI2A:
msgid=<20120723184732.6746C27C687 at imap.mydomain.ro>: saved mail to
INBOX
Jul 23 21:47:32 imap postfix/lmtp[40608]: 6746C27C687:
to=<firstuser at mydomain.ro>,
relay=imap.mydomain.ro[private/dovecot-lmtp], delay=0.37,
delays=0.15/0.01/0/0.2, dsn=2.0.0, status=sent (250 2.0.0
<firstuser at mydomain.ro> pnuDHkScDVChngAA7nOI2A Saved)
Jul 23 21:47:32 imap dovecot: lmtp(40609, firstuser):
pnuDHkScDVChngAA7nOI2A:
msgid=<20120723184732.6746C27C687 at imap.mydomain.ro>: saved mail to
INBOX
Jul 23 21:47:32 imap postfix/lmtp[40608]: 6746C27C687:
to=<firstuser at anothermydomain.ro>,
relay=imap.mydomain.ro[private/dovecot-lmtp], delay=0.44,
delays=0.15/0.01/0/0.28, dsn=2.0.0, status=sent (250 2.0.0
<firstuser at anothermydomain.ro> pnuDHkScDVChngAA7nOI2A Saved)
Jul 23 21:47:32 imap dovecot: lmtp(40609): Disconnect from local:
Client quit (in reset)
Jul 23 21:47:32 imap postfix/qmgr[27463]: 6746C27C687: removed

for whoever wants to blame postfix 2.9.3 without reason, here is the postconf -n

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
biff = no
broken_sasl_auth_clients = yes
config_directory = /etc/postfix
home_mailbox = Maildir/
html_directory = /usr/share/doc/postfix/html
inet_interfaces = all
mailbox_command = /usr/lib/dovecot/deliver -c
/etc/dovecot/conf.d/01-mail-stack-delivery.conf -m "${EXTENSION}"
mailbox_size_limit = 0
mydestination = imap.mydomain.ro, localhost.mydomain.ro, localhost
myhostname = imap.mydomain.ro
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
readme_directory = /usr/share/doc/postfix
recipient_delimiter = +
relayhost =
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtp_use_tls = yes
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_recipient_restrictions = reject_unknown_sender_domain,
reject_unknown_recipient_domain, reject_unauth_pipelining,
permit_mynetworks, permit_sasl_authenticated,
reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_path = private/dovecot-auth
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_sender_restrictions = reject_unknown_sender_domain
smtpd_tls_auth_only = yes
smtpd_tls_cert_file = /etc/ssl/certs/ssl-mail.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-mail.key
smtpd_tls_mandatory_ciphers = medium
smtpd_tls_mandatory_protocols = SSLv3, TLSv1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
tls_random_source = dev:/dev/urandom
virtual_alias_maps = hash:/etc/postfix/valid_recipients_alias
virtual_mailbox_domains = mydomain.ro, anothermydomain.ro
virtual_mailbox_maps = $virtual_alias_maps
virtual_transport = lmtp:unix:private/dovecot-lmtp

and the dialogue between postfix lmtp client and dovecot lmtp server:

Process 40677 attached (waiting for parent)
Process 40677 resumed (parent 40562 ready)
[pid 40676] write(4,
"VERSION\tconfig\t2\t0\nREQ\tmodule=lmtp\tservice=lmtp\n", 48) = 48
[pid 40676] read(4,  <unfinished ...>
[Process 40678 attached
Process 40677 suspended
[pid 40678] write(1, "SIEVE: fileinto reject envelope
encoded-character vacation subaddress comparator-i;ascii-numeric
relational regex imap4flags copy include variables body enotify
environment mailbox date ihave, NOTIFY: mailto\n", 208) = 208
Process 40677 resumed
Process 40678 detached
[pid 40677] --- SIGCHLD (Child exited) @ 0 (0) ---
[pid 40677] read(11, "SIEVE: fileinto reject envelope
encoded-character vacation subaddress comparator-i;ascii-numeric
relational regex imap4flags copy include variables body enotify
environment mailbox date ihave, NOTIFY: mailto\n", 4096) = 208
[pid 40677] read(11, "", 3888)          = 0
[pid 40677] read(21, "", 1024)          = 0
[pid 40677] read(21, "", 1024)          = 0
[pid 40677] read(10, "# /etc/nsswitch.conf\n#\n# Example configuration
of GNU Name Service Switch functionality.\n# If you have the
`glibc-doc-reference' and `info' packages installed, try:\n# `info
libc \"Name Service Switch\"' for information about this
file.\n\npasswd:         compat\ngroup:          compat\nshadow:
  compat\n\nhosts:          files dns\nnetworks:
files\n\nprotocols:      db files\nservices:       db files\nethers:
      db files\nrpc:            db files\n\nnetgroup:       nis\n",
4096) = 475
[pid 40677] read(10, "", 4096)          = 0
[pid 40677] read(10,
"VERSION\tconfig\t2\t0\nREQ\tmodule=lmtp\tservice=lmtp\n", 1024) = 48
[pid 40677] write(10,
"\nnamespace=inbox\nnamespace/inbox/name=inbox\nnamespace/inbox/inbox=yes\nplugin=\nplugin/sieve=~/.dovecot.sieve\nplugin/sieve_dir=~/sieve\nplugin/autocreate=Inbox\nplugin/autocreate2=Sent\nplugin/autocreate3=Drafts\nplugin/autocreate4=Spam\nplugin/autocreate5=Trash\nplugin/autosubscribe=Inbox\nplugin/autosubscribe2=Sent\nplugin/autosubscribe3=Drafts\nplugin/autosubscribe4=Spam\nplugin/autosubscribe5=Trash\nplugin/mail_log_events=delete
expunge mailbox_delete mailbox_rename\nplugin/mail_log_fields=uid box
msgid size\nmail_location=maildir:~/Maildir\nmaildir_copy_with_hardlinks=yes\nverbose_proctitle=yes\n\n",
591) = 591
[pid 40676] <... read resumed>
"\nnamespace=inbox\nnamespace/inbox/name=inbox\nnamespace/inbox/inbox=yes\nplugin=\nplugin/sieve=~/.dovecot.sieve\nplugin/sieve_dir=~/sieve\nplugin/autocreate=Inbox\nplugin/autocreate2=Sent\nplugin/autocreate3=Drafts\nplugin/autocreate4=Spam\nplugin/autocreate5=Trash\nplugin/autosubscribe=Inbox\nplugin/autosubscribe2=Sent\nplugin/autosubscribe3=Drafts\nplugin/autosubscribe4=Spam\nplugin/autosubscribe5=Trash\nplugin/mail_log_events=delete
expunge mailbox_delete mailbox_rename\nplugin/mail_log_fields=uid box
msgid size\nmail_location=maildir:~/Maildir\nmaildir_copy_with_hardlinks=yes\nverbose_proctitle=yes\n\n",
8192) = 591
[pid 40676] write(5, "\344\236\0\0\7\0\0\0\1\0\0\0", 12) = 12
[pid 40562] read(128, "\344\236\0\0\7\0\0\0\1\0\0\0", 1020) = 12
[pid 40676] write(5, "\344\236\0\0\7\0\0\0\0\0\0\0", 12) = 12
[pid 40562] read(128, "\344\236\0\0\7\0\0\0\0\0\0\0", 1020) = 12
[pid 40676] write(4,
"VERSION\tconfig\t2\t0\nREQ\tmodule=lmtp\tservice=lmtp\tuser=\n", 54)
= 54
[pid 40677] read(10,
"VERSION\tconfig\t2\t0\nREQ\tmodule=lmtp\tservice=lmtp\tuser=\n", 976)
= 54
[pid 40676] read(4,  <unfinished ...>
[pid 40677] write(10,
"\nnamespace=inbox\nnamespace/inbox/name=inbox\nnamespace/inbox/inbox=yes\nplugin=\nplugin/sieve=~/.dovecot.sieve\nplugin/sieve_dir=~/sieve\nplugin/autocreate=Inbox\nplugin/autocreate2=Sent\nplugin/autocreate3=Drafts\nplugin/autocreate4=Spam\nplugin/autocreate5=Trash\nplugin/autosubscribe=Inbox\nplugin/autosubscribe2=Sent\nplugin/autosubscribe3=Drafts\nplugin/autosubscribe4=Spam\nplugin/autosubscribe5=Trash\nplugin/mail_log_events=delete
expunge mailbox_delete mailbox_rename\nplugin/mail_log_fields=uid box
msgid size\nmail_location=maildir:~/Maildir\nmaildir_copy_with_hardlinks=yes\nverbose_proctitle=yes\n\n",
591) = 591
[pid 40676] <... read resumed>
"\nnamespace=inbox\nnamespace/inbox/name=inbox\nnamespace/inbox/inbox=yes\nplugin=\nplugin/sieve=~/.dovecot.sieve\nplugin/sieve_dir=~/sieve\nplugin/autocreate=Inbox\nplugin/autocreate2=Sent\nplugin/autocreate3=Drafts\nplugin/autocreate4=Spam\nplugin/autocreate5=Trash\nplugin/autosubscribe=Inbox\nplugin/autosubscribe2=Sent\nplugin/autosubscribe3=Drafts\nplugin/autosubscribe4=Spam\nplugin/autosubscribe5=Trash\nplugin/mail_log_events=delete
expunge mailbox_delete mailbox_rename\nplugin/mail_log_fields=uid box
msgid size\nmail_location=maildir:~/Maildir\nmaildir_copy_with_hardlinks=yes\nverbose_proctitle=yes\n\n",
8192) = 591
[pid 40676] read(13, "# Dynamic resolv.conf(5) file for glibc
resolver(3) generated by resolvconf(8)\n#     DO NOT EDIT THIS FILE BY
HAND -- YOUR CHANGES WILL BE OVERWRITTEN\nnameserver
192.168.17.1\nsearch mydomain.ro\n", 4096) = 202
[pid 40676] read(13, "", 4096)          = 0
[pid 40676] read(13, "# Dynamic resolv.conf(5) file for glibc
resolver(3) generated by resolvconf(8)\n#     DO NOT EDIT THIS FILE BY
HAND -- YOUR CHANGES WILL BE OVERWRITTEN\nnameserver
192.168.17.1\nsearch mydomain.ro\n", 4096) = 202
[pid 40676] read(13, "", 4096)          = 0
[pid 40676] read(13, "# /etc/nsswitch.conf\n#\n# Example configuration
of GNU Name Service Switch functionality.\n# If you have the
`glibc-doc-reference' and `info' packages installed, try:\n# `info
libc \"Name Service Switch\"' for information about this
file.\n\npasswd:         compat\ngroup:          compat\nshadow:
  compat\n\nhosts:          files dns\nnetworks:
files\n\nprotocols:      db files\nservices:       db files\nethers:
      db files\nrpc:            db files\n\nnetgroup:       nis\n",
4096) = 475
[pid 40676] read(13, "", 4096)          = 0
[pid 40676] read(13, "# The \"order\" line is only used by old
versions of the C library.\norder hosts,bind\nmulti on\n", 4096) = 92
[pid 40676] read(13, "", 4096)          = 0
[pid 40676] read(13,
"127.0.0.1\tlocalhost\n192.168.17.71\timap.mydomain.ro\timap\n\n# The
following lines are desirable for IPv6 capable hosts\n::1
ip6-localhost ip6-loopback\nfe00::0 ip6-localnet\nff00::0
ip6-mcastprefix\nff02::1 ip6-allnodes\nff02::2 ip6-allrouters\n",
4096) = 248
[pid 40676] read(13, "", 4096)          = 0
[pid 40676] write(12, "220 imap.mydomain.ro Dovecot ready.\r\n", 45) = 45
[pid 40676] write(2, "\1\01040676 prefix=lmtp(40676): \n", 29) = 29
[pid 40676] write(2, "\1\00240676 Connect from local\n", 27) = 27
[pid 40676] read(12, "LHLO imap.mydomain.ro\r\n", 4096) = 31
[pid 40676] write(12,
"250-imap.mydomain.ro\r\n250-8BITMIME\r\n250-ENHANCEDSTATUSCODES\r\n250
PIPELINING\r\n", 85) = 85
[pid 40676] read(12, "MAIL FROM:<root at imap.mydomain.ro>\r\nRCPT
TO:<anotheruser at mydomain.ro>\r\nRCPT
TO:<firstuser at mydomain.ro>\r\nRCPT
TO:<firstuser at anothermydomain.ro>\r\nDATA\r\n", 4065) = 163
Process 40679 attached
[pid 40676] write(13,
"VERSION\t1\t0\nUSER\t1\tanotheruser at mydomain.ro\tservice=lmtp\n", 64)
= 64
[pid 40679] read(4, "+\267\361\217", 4) = 4
[pid 40679] write(13, "VERSION\tconfig\t2\t0\nREQ\tmodule=auth\n", 35) = 35
[pid 40679] read(13,  <unfinished ...>
[pid 40677] read(11, "VERSION\tconfig\t2\t0\nREQ\tmodule=auth\n", 1024) = 35
[pid 40677] write(11,
"\nverbose_proctitle=yes\nauth_mechanisms=plain\nauth_username_chars=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@\nauth_username_format=%Ln\nauth_verbose=yes\nauth_verbose_passwords=plain\npassdb=0\npassdb/0/driver=pam\nuserdb=0\nuserdb/0/driver=passwd\n\n",
266 <unfinished ...>
[pid 40679] <... read resumed>
"\nverbose_proctitle=yes\nauth_mechanisms=plain\nauth_username_chars=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@\nauth_username_format=%Ln\nauth_verbose=yes\nauth_verbose_passwords=plain\npassdb=0\npassdb/0/driver=pam\nuserdb=0\nuserdb/0/driver=passwd\n\n",
8192) = 266
[pid 40677] <... write resumed> )       = 266
[pid 40677] read(11, "", 989)           = 0
[pid 40562] read(7, "t\236\0\0\1\0\0\0\347\3\0\0", 1020) = 12
[pid 40679] write(13, "VERSION\tanvil\t1\t0\n", 18) = 18
[pid 40679] write(5, "\347\236\0\0\t\0\0\0\350\3\0\0", 12) = 12
[pid 40562] read(151, "\347\236\0\0\t\0\0\0\350\3\0\0", 1020) = 12
[pid 40679] write(17, "VERSION\t1\t1\nSPID\t40679\n", 23) = 23
[pid 40676] read(13, "VERSION\t1\t1\nSPID\t40679\n", 8192) = 23
[pid 40679] read(17,
"VERSION\t1\t0\nUSER\t1\tanotheruser at mydomain.ro\tservice=lmtp\n",
1024) = 64
[pid 40679] read(18, "# /etc/nsswitch.conf\n#\n# Example configuration
of GNU Name Service Switch functionality.\n# If you have the
`glibc-doc-reference' and `info' packages installed, try:\n# `info
libc \"Name Service Switch\"' for information about this
file.\n\npasswd:         compat\ngroup:          compat\nshadow:
  compat\n\nhosts:          files dns\nnetworks:
files\n\nprotocols:      db files\nservices:       db files\nethers:
      db files\nrpc:            db files\n\nnetgroup:       nis\n",
4096) = 475
[pid 40679] read(18, "", 4096)          = 0
[pid 40679] write(17,
"USER\t1\tanotheruser\tsystem_groups_user=anotheruser\tuid=1002\tgid=1002\thome=/home/anotheruser\n",
91) = 91
[pid 40676] read(13,
"USER\t1\tanotheruser\tsystem_groups_user=anotheruser\tuid=1002\tgid=1002\thome=/home/anotheruser\n",
8169) = 91
[pid 40676] write(13, "USER\t2\tfirstuser at mydomain.ro\tservice=lmtp\n", 50) = 50
[pid 40679] read(17, "USER\t2\tfirstuser at mydomain.ro\tservice=lmtp\n", 960) = 50
[pid 40679] write(17,
"USER\t2\tfirstuser\tsystem_groups_user=firstuser\tuid=1001\tgid=1001\thome=/home/firstuser\n",
85) = 85
[pid 40676] read(13,
"USER\t2\tfirstuser\tsystem_groups_user=firstuser\tuid=1001\tgid=1001\thome=/home/firstuser\n",
8192) = 85
[pid 40676] write(13,
"USER\t3\tfirstuser at anothermydomain.ro\tservice=lmtp\n", 39) = 39
[pid 40679] read(17,
"USER\t3\tfirstuser at anothermydomain.ro\tservice=lmtp\n", 910) = 39
[pid 40679] write(17,
"USER\t3\tfirstuser\tsystem_groups_user=firstuser\tuid=1001\tgid=1001\thome=/home/firstuser\n",
85) = 85
[pid 40676] read(13,
"USER\t3\tfirstuser\tsystem_groups_user=firstuser\tuid=1001\tgid=1001\thome=/home/firstuser\n",
8192) = 85
[pid 40676] read(12, 0x18977e2, 3902)   = -1 EAGAIN (Resource
temporarily unavailable)
[pid 40676] write(12, "250 2.1.0 OK\r\n250 2.1.5 OK\r\n250 2.1.5
OK\r\n250 2.1.5 OK\r\n354 OK\r\n", 64) = 64
[pid 40676] read(12, "Received: by imap.mydomain.ro (Postfix, from
userid 0)\r\n\tid AE18F27C687; Mon, 23 Jul 2012 22:00:37 +0300
(EEST)\r\nDate: Mon, 23 Jul 2012 22:00:37 +0300\r\nTo:
firstuser at anothermydomain.ro, firstuser at mydomain.ro\r\nCc:
anotheruser at mydomain.ro\r\nSubject: test\r\nUser-Agent: Heirloom mailx
12.5 6/20/10\r\nMIME-Version: 1.0\r\nContent-Type: text/plain;
charset=us-ascii\r\nContent-Transfer-Encoding:
quoted-printable\r\nMessage-Id:
<20120723190037.AE18F27C687 at imap.mydomain.ro>\r\nFrom:
root at imap.mydomain.ro (root)\r\n\r\n=\r\n.\r\nQUIT\r\n", 3902) = 541
[pid 40676] read(14, "65536\n", 31)     = 6
[pid 40676] write(16, "Return-Path: <root at imap.mydomain.ro>\nReceived:
from imap.mydomain.ro\n\tby imap.mydomain.ro (Dovecot) with LMTP id
/RqJNFWfDVDkngAA7nOI2A\n\t; Mon, 23 Jul 2012 22:00:37 +0300\nReceived:
by imap.mydomain.ro (Postfix, from userid 0)\n\tid AE18F27C687; Mon,
23 Jul 2012 22:00:37 +0300 (EEST)\nDate: Mon, 23 Jul 2012 22:00:37
+0300\nTo: firstuser at anothermydomain.ro, firstuser at mydomain.ro\nCc:
anotheruser at mydomain.ro\nSubject: test\nUser-Agent: Heirloom mailx
12.5 6/20/10\nMIME-Version: 1.0\nContent-Type: text/plain;
charset=us-ascii\nContent-Transfer-Encoding:
quoted-printable\nMessage-Id:
<20120723190037.AE18F27C687 at imap.mydomain.ro>\nFrom:
root at imap.mydomain.ro (root)\n\n=\n", 713) = 713
[pid 40676] write(16, "40676:imap", 10) = 10
[pid 40676] write(15, "15
:1343070037.M903400P40676.imap,S=713,W=731\n", 46) = 46
[pid 40676] write(2, "\1\01040676 prefix=lmtp(40676, anotheruser): \n", 42) = 42
[pid 40676] write(2, "\1\00240676 /RqJNFWfDVDkngAA7nOI2A:
msgid=<20120723190037.AE18F27C687 at imap.mydomain.ro>: saved mail to
INBOX\n", 113) = 113
[pid 40676] write(16, "40676:imap", 10) = 10
[pid 40676] write(12, "250 2.0.0 <anotheruser at mydomain.ro>
/RqJNFWfDVDkngAA7nOI2A Saved\r\n", 74) = 74
[pid 40676] read(18, "65536\n", 31)     = 6
[pid 40676] write(21, "Return-Path: <root at imap.mydomain.ro>\nReceived:
from imap.mydomain.ro\n\tby imap.mydomain.ro (Dovecot) with LMTP id
/RqJNFWfDVDkngAA7nOI2A\n\t; Mon, 23 Jul 2012 22:00:37 +0300\nReceived:
by imap.mydomain.ro (Postfix, from userid 0)\n\tid AE18F27C687; Mon,
23 Jul 2012 22:00:37 +0300 (EEST)\nDate: Mon, 23 Jul 2012 22:00:37
+0300\nTo: firstuser at anothermydomain.ro, firstuser at mydomain.ro\nCc:
anotheruser at mydomain.ro\nSubject: test\nUser-Agent: Heirloom mailx
12.5 6/20/10\nMIME-Version: 1.0\nContent-Type: text/plain;
charset=us-ascii\nContent-Transfer-Encoding:
quoted-printable\nMessage-Id:
<20120723190037.AE18F27C687 at imap.mydomain.ro>\nFrom:
root at imap.mydomain.ro (root)\n\n=\n", 713) = 713
[pid 40676] write(21, "40676:imap", 10) = 10
[pid 40676] write(20, "29
:1343070037.M903400P40676.imap,S=713,W=731\n", 46) = 46
[pid 40676] write(2, "\1\01040676 prefix=lmtp(40676, firstuser): \n", 40) = 40
[pid 40676] write(2, "\1\00240676 /RqJNFWfDVDkngAA7nOI2A:
msgid=<20120723190037.AE18F27C687 at imap.mydomain.ro>: saved mail to
INBOX\n", 113) = 113
[pid 40676] write(12, "250 2.0.0 <firstuser at mydomain.ro>
/RqJNFWfDVDkngAA7nOI2A Saved\r\n", 72) = 72
[pid 40676] write(21, "Return-Path: <root at imap.mydomain.ro>\nReceived:
from imap.mydomain.ro\n\tby imap.mydomain.ro (Dovecot) with LMTP id
/RqJNFWfDVDkngAA7nOI2A\n\t; Mon, 23 Jul 2012 22:00:37 +0300\nReceived:
by imap.mydomain.ro (Postfix, from userid 0)\n\tid AE18F27C687; Mon,
23 Jul 2012 22:00:37 +0300 (EEST)\nDate: Mon, 23 Jul 2012 22:00:37
+0300\nTo: firstuser at anothermydomain.ro, firstuser at mydomain.ro\nCc:
anotheruser at mydomain.ro\nSubject: test\nUser-Agent: Heirloom mailx
12.5 6/20/10\nMIME-Version: 1.0\nContent-Type: text/plain;
charset=us-ascii\nContent-Transfer-Encoding:
quoted-printable\nMessage-Id:
<20120723190037.AE18F27C687 at imap.mydomain.ro>\nFrom:
root at imap.mydomain.ro (root)\n\n=\n", 713) = 713
[pid 40676] write(21, "40676:imap", 10) = 10
[pid 40676] write(20, "30 :fe1a8934559f0d50e49e0000ee7388d8\n", 37) = 37
[pid 40676] write(2, "\1\01040676 prefix=lmtp(40676, firstuser): \n", 40) = 40
[pid 40676] write(2, "\1\00240676 /RqJNFWfDVDkngAA7nOI2A:
msgid=<20120723190037.AE18F27C687 at imap.mydomain.ro>: saved mail to
INBOX\n", 113) = 113
[pid 40676] write(12, "250 2.0.0 <firstuser at anothermydomain.ro>
/RqJNFWfDVDkngAA7nOI2A Saved\r\n", 61) = 61
[pid 40676] write(2, "\1\01040676 prefix=lmtp(40676): \n", 29) = 29
[pid 40676] write(2, "\1\00240676 Disconnect from local: Client quit
(in reset)\n", 54) = 54
[pid 40676] write(12, "221 2.0.0 Client quit\r\n", 23) = 23

for the sake of readability i stripped elf binary reads and
certificates from the strace output.
note the dovecot lmtp process reading a single email with three RCPT
TO's and writing three times three different files instead of writing
content one time and hardlinking two times.

anyone care to shed a light?
thanks.



More information about the dovecot mailing list