[Dovecot] Dovecot truncating messages and/or attachments

fp at kraptastic.com fp at kraptastic.com
Wed Dec 12 04:21:35 EET 2007


Hello, I am having problems with Dovecot not sending clients emails bigger
then 8-12k (it varies) or attachments bigger then 8-12k. I am also getting
'Corrupted transaction log file' errors ' unexpected end of file while
reading header' I have deleted the dovecot.index.log, dovecot.index.cache,
and dovecot.index several dozen times.

I started off using Centos 5, with their package of dovecot 1.05, after
seeing that there were problems in the package in the
http://wiki.dovecot.org/WhyDoesItNotWork, I went with a source install of
dovecot 1.09.

Here is my cfg info:

# dovecot -n
# 1.0.9: /etc/dovecot.conf
protocols: pop3 pop3s imap imaps
ssl_cert_file: /etc/dovecert.pem
ssl_key_file: /etc/dovekey.pem
disable_plaintext_auth: no
login_dir: /var/run/dovecot/login
login_executable(default): /usr/libexec/dovecot/imap-login
login_executable(imap): /usr/libexec/dovecot/imap-login
login_executable(pop3): /usr/libexec/dovecot/pop3-login
login_process_size: 128
first_valid_uid: 106
last_valid_uid: 106
mail_extra_groups: mail
mail_location: maildir:/var/spool/postfix/virtual/%d/%u
mail_debug: yes
maildir_copy_with_hardlinks: yes
mail_executable(default): /usr/libexec/dovecot/imap
mail_executable(imap): /usr/libexec/dovecot/imap
mail_executable(pop3): /usr/libexec/dovecot/pop3
mail_plugin_dir(default): /usr/lib64/dovecot/imap
mail_plugin_dir(imap): /usr/lib64/dovecot/imap
mail_plugin_dir(pop3): /usr/lib64/dovecot/pop3
imap_client_workarounds(default): outlook-idle delay-newmail
imap_client_workarounds(imap): outlook-idle delay-newmail
imap_client_workarounds(pop3): outlook-idle
pop3_uidl_format: %08Xu%08Xv
pop3_client_workarounds(default):
pop3_client_workarounds(imap):
pop3_client_workarounds(pop3): outlook-no-nuls oe-ns-eoh
auth default:
  mechanisms: plain login
  user: vmail
  passdb:
    driver: sql
    args: /etc/dovecot-mysql.conf
  userdb:
    driver: sql
    args: /etc/dovecot-mysql.conf
  userdb:
    driver: prefetch
  socket:
    type: listen
    client:
      path: /var/spool/postfix/private/auth
      mode: 432
      user: postfix
      group: vmail
    master:
      path: /var/run/dovecot/auth-master
      mode: 432
      user: vmail
      group: vmail

(the login process is 128 because i was experimenting with various numbers
(32,64,80,etc)

The /var/log/maillog has hundreds of these:
Dec 11 16:27:42 le1 dovecot: POP3(xxx at xxx): Corrupted transaction log file
/var/spool/postfix/virtual/xxx.com/xxx at xxx/dovecot.index.log: unexpected
end of file while reading header

I turned made it so the mail stays on the server, so i can see that the
mail stored there by postfix is the correct size. When email clients
download mail through pop3 or pop3s it only downloads 4,8, or 12 k worth
of the email (whether it has attachments or not). Here is an example
transaction:

Dec 11 17:18:31 le1 dovecot: auth(default): client in: AUTH     1      
PLAIN   service=POP3    lip=142.179.211.193     rip=24.71.237.54       
resp=
Dec 11 17:18:31 le1 dovecot: auth(default): client out: CONT    1
Dec 11 17:18:31 le1 dovecot: auth(default): client in: CONT     1      
AHNoYXduQGxhbmdmb3JkZWxlY3RyaWMuY2EAdW5mdW5m
Dec 11 17:18:31 le1 dovecot: auth(default):
cache(shawn at xxx.com,24.71.237.54): hit
Dec 11 17:18:31 le1 dovecot: auth(default): client out: OK      1      
user=shawn at xxx.com
Dec 11 17:18:31 le1 dovecot: auth(default): master in: REQUEST  92     
8447    1
Dec 11 17:18:31 le1 dovecot: pop3-login: Login: user=<shawn at xxx.com>,
method=PLAIN, rip=24.71.237.54, lip=142.179.211.193
Dec 11 17:18:31 le1 dovecot: auth(default): master out: USER    92     
shawn at xxx.com       maildir=xxx.com/shawn at xxx.com/  uid=106 gid=106
Dec 11 17:18:31 le1 dovecot: POP3(shawn at xxx.com): Effective uid=106, gid=106
Dec 11 17:18:31 le1 dovecot: POP3(shawn at xxx.com): maildir:
data=/var/spool/postfix/virtual/xxx.com/shawn at xxx.com
Dec 11 17:18:31 le1 dovecot: POP3(shawn at xxx.com): maildir:
root=/var/spool/postfix/virtual/xxx.com/shawn at xxx.com,
index=/var/spool/postfix/virtual/xxx.com/shawn at xxx.com, control=, inbox=
Dec 11 17:18:31 le1 dovecot: auth(default): new auth connection: pid=8487
Dec 11 17:18:31 le1 dovecot: POP3(shawn at xxx.com): Disconnected: Logged out
top=0/0, retr=1/4215, del=0/1, size=70206

To be clear, if i telnet to 110, and manually do a retr on the message it
only sends 4,8,or 12k worth of the message. So it does not appear to be a
permission problem, it is reading and writing to the
directory properly.

The system is x86_64 centos 5, not using the standard dovecot nor postfix
rpms that come with the distro. postfix from what I can tell, is working
fine, but dovecot isn't. I'm going to try installing cyrus to make sure
it's not postfix, but I'd really like to avoid cyrus if possible.

Thanks in advance for any help.



More information about the dovecot mailing list