Dovecot doesn't sent rejection message user overquota
Hi
I'm using postfix+dovecot (2.2.18).
The problem is that dovecot silently discard message when user has its own mailbox full without sending rejection message to the sender.
Here a sample log:
Dec 1 14:54:23 posta2 postfix/smtp[21478]: B315111C00B: to=<antonen@uniparthenope.it>, relay=192.168.241.110[192.168.241.110]:25, delay=0.4, delays=0.2/0/0/0.2, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as C27BF1244DD) Dec 1 14:54:23 posta2 dovecot: lda(antonen): Error: sieve: msgid=<565DA68E.8060308@uniparthenope.it>: failed to store into mailbox 'INBOX': Quota exceeded (mailbox for user is full) Dec 1 14:54:23 posta2 dovecot: lda(antonen): sieve: Execution of script /usr/local/etc/dovecot/sieve/default.sieve failed with unsuccessful implicit keep Dec 1 14:54:23 posta2 dovecot: lda(antonen): msgid=<565DA68E.8060308@uniparthenope.it>: rejected: Quota exceeded (mailbox for user is full) Dec 1 14:54:23 posta2 postfix/pipe[21020]: 111FB11C00B: to=<antonen@uniparthenope.it>, relay=dovecot, delay=0.14, delays=0.05/0.01/0/0.09, dsn=2.0.0, status=sent (delivered via dovecot service)
This is dovecot configuration:
posta2:/usr/local/etc/dovecot # doveconf -n # 2.2.18: /usr/local/etc/dovecot/dovecot.conf # Pigeonhole version 0.4.8 (0c4ae064f307+) # OS: Linux 3.0.101-0.46-default x86_64 SUSE Linux Enterprise Server 11 (x86_64) auth_mechanisms = plain login auth_username_format = %Ln auth_verbose = yes default_internal_user = vmail default_login_user = nobody disable_plaintext_auth = no first_valid_uid = 100 lda_mailbox_autocreate = yes lda_mailbox_autosubscribe = yes mail_gid = 100 mail_location = maildir:%h mail_plugins = " quota" mail_uid = 1002 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 index ihave duplicate spamtest spamtestplus passdb { args = /usr/local/etc/dovecot/dovecot-people-ldap.conf.ext driver = ldap } plugin { last_login_dict = redis:host=127.0.0.1:port=6379 mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename mail_log_fields = uid box msgid size quota = maildir:User quota quota_warning = storage=95%% quota-warning 95 %u quota_warning2 = storage=80%% quota-warning 80 %u sieve = file:~/sieve;active=~/.dovecot.sieve sieve_before = /usr/local/etc/dovecot/sieve/ sieve_dir = ~/.sieve sieve_extensions = +spamtest +spamtestplus +relational +comparator-i;ascii-numeric } postmaster_address = postmaster@uniparthenope.it protocols = imap pop3 sieve service auth { unix_listener /var/spool/postfix/private/auth { group = postfix mode = 0666 user = postfix } } service imap-login { inet_listener imap { port = 143 } inet_listener imaps { port = 993 ssl = yes } service_count = 0 vsz_limit = 256 M } service managesieve-login { inet_listener sieve { port = 4190 } service_count = 1 vsz_limit = 64 M } service pop3-login { inet_listener pop3 { port = 110 } inet_listener pop3s { port = 995 ssl = yes } service_count = 0 vsz_limit = 256 M } service quota-status { client_limit = 1 executable = quota-status -p postfix inet_listener { port = 12340 } } service quota-warning { executable = script /usr/local/bin/quota-warning.sh unix_listener quota-warning { user = vmail } user = vmail } ssl_ca = <file.pem ssl_cert = <file.pem ssl_key = <file.pem userdb { args = /usr/local/etc/dovecot/dovecot-people-ldap.conf.ext driver = ldap } protocol lda { mail_plugins = " quota quota sieve" } protocol imap { imap_client_workarounds = delay-newmail tb-extra-mailbox-sep tb-lsub-flags mail_max_userip_connections = 100 mail_plugins = " quota imap_quota last_login" } protocol pop3 { mail_max_userip_connections = 100 mail_plugins = " quota last_login" pop3_logout_format = top=%t/%p, retr=%r/%b, del=%d/%m, size=%s, %u pop3_save_uidl = no pop3_uidl_format = %08Xu%08Xv }
while in master.cf
dovecot unix - n n - - pipe flags=DRhu user=vmail argv=/usr/local/libexec/dovecot/dovecot-lda -f ${sender} -d ${recipient}
Is there someone who could help me?
Regards
-- Dott. Antonello Cioffi Ufficio Servizi Informatici Università degli Studi di Napoli Parthenope Tel. 081/5475292 - Fax. 081/5475180
On 01 Dec 2015, at 17:10, Antonello Cioffi <antonello.cioffi@uniparthenope.it> wrote:
Hi
I'm using postfix+dovecot (2.2.18).
The problem is that dovecot silently discard message when user has its own mailbox full without sending rejection message to the sender.
Here a sample log:
Dec 1 14:54:23 posta2 postfix/smtp[21478]: B315111C00B: to=<antonen@uniparthenope.it>, relay=192.168.241.110[192.168.241.110]:25, delay=0.4, delays=0.2/0/0/0.2, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as C27BF1244DD) Dec 1 14:54:23 posta2 dovecot: lda(antonen): Error: sieve: msgid=<565DA68E.8060308@uniparthenope.it>: failed to store into mailbox 'INBOX': Quota exceeded (mailbox for user is full) Dec 1 14:54:23 posta2 dovecot: lda(antonen): sieve: Execution of script /usr/local/etc/dovecot/sieve/default.sieve failed with unsuccessful implicit keep Dec 1 14:54:23 posta2 dovecot: lda(antonen): msgid=<565DA68E.8060308@uniparthenope.it>: rejected: Quota exceeded (mailbox for user is full) Dec 1 14:54:23 posta2 postfix/pipe[21020]: 111FB11C00B: to=<antonen@uniparthenope.it>, relay=dovecot, delay=0.14, delays=0.05/0.01/0/0.09, dsn=2.0.0, status=sent (delivered via dovecot service)
Dovecot should have sent a bounce message at that time. I guess that doesn't work for some reason. By default Dovecot uses:
sendmail_path = /usr/sbin/sendmail
Also you can instead have it send it via SMTP by setting submission_host setting. And finally if you give -e parameter to dovecot-lda, it won't send a bounce itself but instead will exit with 77 causing Postfix to send the bounce.
Il 01/12/2015 16:19, Timo Sirainen ha scritto:
On 01 Dec 2015, at 17:10, Antonello Cioffi <antonello.cioffi@uniparthenope.it> wrote:
Hi
I'm using postfix+dovecot (2.2.18).
The problem is that dovecot silently discard message when user has its own mailbox full without sending rejection message to the sender.
Here a sample log:
Dec 1 14:54:23 posta2 postfix/smtp[21478]: B315111C00B: to=<antonen@uniparthenope.it>, relay=192.168.241.110[192.168.241.110]:25, delay=0.4, delays=0.2/0/0/0.2, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as C27BF1244DD) Dec 1 14:54:23 posta2 dovecot: lda(antonen): Error: sieve: msgid=<565DA68E.8060308@uniparthenope.it>: failed to store into mailbox 'INBOX': Quota exceeded (mailbox for user is full) Dec 1 14:54:23 posta2 dovecot: lda(antonen): sieve: Execution of script /usr/local/etc/dovecot/sieve/default.sieve failed with unsuccessful implicit keep Dec 1 14:54:23 posta2 dovecot: lda(antonen): msgid=<565DA68E.8060308@uniparthenope.it>: rejected: Quota exceeded (mailbox for user is full) Dec 1 14:54:23 posta2 postfix/pipe[21020]: 111FB11C00B: to=<antonen@uniparthenope.it>, relay=dovecot, delay=0.14, delays=0.05/0.01/0/0.09, dsn=2.0.0, status=sent (delivered via dovecot service) Dovecot should have sent a bounce message at that time. I guess that doesn't work for some reason. By default Dovecot uses:
sendmail_path = /usr/sbin/sendmail
Also you can instead have it send it via SMTP by setting submission_host setting. And finally if you give -e parameter to dovecot-lda, it won't send a bounce itself but instead will exit with 77 causing Postfix to send the bounce.
Hi
I don't set -e parameter.
Now I set "submission_host = mail.uniparthenope.it" to use smtp instead of sendmail_path and the result is now:
Dec 2 08:58:49 posta2 dovecot: lda(antonen): msgid=<565EA4B9.1020009@uniparthenope.it>: Permanently failed to send rejection: smtp(mail.uniparthenope.it): DATA failed: 550 5.7.1 no third-party DSNs
Regards
-- Dott. Antonello Cioffi Ufficio Servizi Informatici Università degli Studi di Napoli Parthenope Tel. 081/5475292 - Fax. 081/5475180
On 2015-12-02 09:13:04 +0100, Antonello Cioffi wrote:
Dec 2 08:58:49 posta2 dovecot: lda(antonen): msgid=<565EA4B9.1020009@uniparthenope.it>: Permanently failed to send rejection: smtp(mail.uniparthenope.it): DATA failed: 550 5.7.1 no third-party DSNs
smells like an error message from your smtp server.
-- openSUSE - SUSE Linux is my linux openSUSE is good for you www.opensuse.org
Il 02/12/2015 15:49, Marcus Rueckert ha scritto:
On 2015-12-02 09:13:04 +0100, Antonello Cioffi wrote:
Dec 2 08:58:49 posta2 dovecot: lda(antonen): msgid=<565EA4B9.1020009@uniparthenope.it>: Permanently failed to send rejection: smtp(mail.uniparthenope.it): DATA failed: 550 5.7.1 no third-party DSNs smells like an error message from your smtp server.
I solved:
it's a very very old header_checks rule in postfix configuration that I use some times ago to stop some kind of spam and i've forgive it
Dec 3 10:28:19 posta2 postfix/cleanup[31760]: 3CC8611C049: reject: header Content-Type: multipart/report; report-type=delivery-status;??boundary="32191/mail.uniparthenope.it" from localhost[127.0.0.1]; from=<> to=<xxx@uniparthenope.it> proto=ESMTP helo=<mail.uniparthenope.it>: 5.7.1 no third-party DSNs
thanks for your help
bye
-- Dott. Antonello Cioffi Ufficio Servizi Informatici Università degli Studi di Napoli Parthenope Tel. 081/5475292 - Fax. 081/5475180
participants (3)
-
Antonello Cioffi
-
Marcus Rueckert
-
Timo Sirainen