[Dovecot] Dovecot deliver discards emails (mail loss)
Steffen Kaiser
skdovecot at smail.inf.fh-bonn-rhein-sieg.de
Tue May 8 11:04:20 EEST 2007
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hello,
Dovecot deliver used with filesystem quota, sendmail v8.13 via
.forward-mechanism causes mail loess:
May 8 09:49:53 ux-2s11-9 deliver(dvtest):
msgid=<200705080749.l487nclf029596 at ux-2s11-9.inf.fh-bonn-rhein-sieg.de>:
save failed to INBOX
May 8 09:49:53 ux-2s11-9 deliver(dvtest):
msgid=<200705080749.l487nclf029596 at ux-2s11-9.inf.fh-bonn-rhein-sieg.de>:
Return-Path missing, rejection reason: Not enough disk space
May 8 09:49:53 ux-2s11-9 sendmail[29618]: l487nclf029596: to="|
/etc/mail/runde", ctladdr=dvtest (31045/102), delay=00:00:15,
xdelay=00:00:00, mailer=prog, pri=120033, dsn=2.0.0, stat=Sent
"/etc/mail/runde" is a shell script to capture various status of the
delivery attempt, incl. a strace log.
Below are the last lines of the strace.
Actually, I expected deliver to _tempfail_ the delivery attempt with "out
of quota". However, the mail is lost, I guess, because sendmail received a
return code "0".
==================
brk(0x8115000) = 0x8115000
time(NULL) = 1178610593
open("/var/cache/dovecot/31045/index/.INBOX/dovecot.index",
O_RDWR|O_LARGEFILE) = 7
alarm(120) = 0
fcntl64(7, F_SETLKW64, {type=F_RDLCK, whence=SEEK_SET, start=0, len=0},
0xbfaa8c44) = 0
alarm(0) = 120
fstat64(7, {st_mode=S_IFREG|0600, st_size=2144, ...}) = 0
mmap2(NULL, 2144, PROT_READ|PROT_WRITE, MAP_SHARED, 7, 0) = 0xb7ee6000
open("/var/cache/dovecot/31045/index/.INBOX/dovecot.index.log",
O_RDWR|O_LARGEFILE) = 8
fstat64(8, {st_mode=S_IFREG|0600, st_size=2984, ...}) = 0
pread64(8, "\1\0\30\0\214\267\377E\1\0\0\0\0\0\0\0\0\0\0\0\214\267"...,
24, 0) = 24
fcntl64(7, F_SETLK64, {type=F_UNLCK, whence=SEEK_SET, start=0, len=0},
0xbfaa8ca4) = 0
time(NULL) = 1178610593
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=837, ...}) = 0
stat64("/home/dvtest/MailDir/new", {st_mode=S_IFDIR|0700, st_size=12288,
...}) = 0
stat64("/home/dvtest/MailDir/cur", {st_mode=S_IFDIR|0700, st_size=4096,
...}) = 0
stat64("/home/dvtest/MailDir/tmp/1178610593.P29623Q0M537288.ux-2s11-9",
0xbfaa8d90) = -1 ENOENT (No such file or directory)
umask(0) = 077
open("/home/dvtest/MailDir/tmp/1178610593.P29623Q0M537288.ux-2s11-9",
O_WRONLY|O_CREAT|O_EXCL|O_LARGEFILE, 0600) = 9
umask(077) = 0
_llseek(9, 0, [0], SEEK_CUR) = 0
fstat64(9, {st_mode=S_IFREG|0600, st_size=0, ...}) = 0
writev(9, [{"From root at ux-2s11-9.inf.fh-bonn-"..., 70}, {"\n", 1}], 2) =
- -1 EDQUOT (Disk quota exceeded)
utime("/home/dvtest/MailDir/tmp/1178610593.P29623Q0M537288.ux-2s11-9",
[2007/05/08-09:49:53, 2007/05/08-09:49:53]) = 0
fsync(9) = 0
close(9) = 0
unlink("/home/dvtest/MailDir/tmp/1178610593.P29623Q0M537288.ux-2s11-9") =
0
time([1178610593]) = 1178610593
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=837, ...}) = 0
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=837, ...}) = 0
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=837, ...}) = 0
send(6, "<22>May 8 09:49:53 deliver(dvte"..., 130, MSG_NOSIGNAL) = 130
time([1178610593]) = 1178610593
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=837, ...}) = 0
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=837, ...}) = 0
stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=837, ...}) = 0
send(6, "<22>May 8 09:49:53 deliver(dvte"..., 170, MSG_NOSIGNAL) = 170
close(8) = 0
munmap(0xb7ee6000, 2144) = 0
close(7) = 0
munmap(0xb7d6c000, 39020) = 0
munmap(0xb7ee7000, 8952) = 0
munmap(0xb7d43000, 166416) = 0
fcntl64(3, F_GETFD) = 0x1 (flags FD_CLOEXEC)
close(3) = 0
close(5) = 0
exit_group(0) = ?
===============
protocol lda {
# Address to use when sending rejection mails.
postmaster_address = postmaster at mail
# Support for dynamically loadable plugins. mail_plugins is a space
separated
# list of plugins to load.
mail_plugin_dir = /usr/local/dovecot/lib/dovecot/lda
mail_plugins = quota mail_log cmusieve
# Binary to use for sending mails.
sendmail_path = /usr/sbin/sendmail
# UNIX socket path to master authentication server to find users.
auth_socket_path = /var/run/dovecot/auth-master
# Log to syslog
log_path =
info_log_path =
syslog_facility = mail
}
Bye,
- --
Steffen Kaiser
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
iQEVAwUBRkAvCC9SORjhbDpvAQKXiwgAoWOhnRqlqqqcWrT0r/vPB4vklFUylxFz
rgNlNklola01iqZWT3SXsraxGbbK4xnU4D2XtxoA8uwONZ3pQny+2gdnwlDlcjcY
Uqme8Rmr4TQz3JiTgMlT2I2gUGeSNrgckDV3Q9VvFfUT+23kEIhOahL4aBVD9tsv
SV3YZDkekP4qndrfxRfW5cVwsaaRX4YJZsk47mx2oakmaoFb3qGk3QGV0x9sZRhj
AvXeIKu8SQkHMC6rbSJiwr34oYZl/aGA7Z/vB3iTxE3NgkyqE1WoUfxgdo1EiXTJ
/i+E26VD/YJy6sWLy/usZibZMG/TJ3EM9kNmEk+23dLJbhX130Uk3A==
=Md0l
-----END PGP SIGNATURE-----
More information about the dovecot
mailing list