Reject at SMTP over Quota Mailboxes

hci

Verified User
Joined
Jun 15, 2004
Messages
361
Is there a way to reject messages to over quota mail boxes rather then creating a bounce message?
 
That appears to just do away with the bounce message. The desired behavior is to reject at SMTP time. If you create a bounce to a SPAM message often the return address is forged and you are creating a new spam message that can get your server black listed. You still want to notify senders of legitimate mail so they know there message was not delivered. The proper way to all this is reject at SMTP time leaving the sending SMTP server the responsibility to notify the sender.

http://www.timj.co.uk/2004/08/exim-checking-maildir-quotas-at-smtp-rcpt-time/

It would be best if Directadmin kept a dynamic list of over quota addresses and reject them at SMTP time.
 
Last edited:
That appears to just do away with the bounce message. The desired behavior is to reject at SMTP time.
That's your opinion, and I don't agree.
People can have other choices. For example I wouldn't like to have such messages rejected at SMTP time, which can give the impression the receiving email adres does not exist (anymore), because normally the sender will get a message that the email was not delivered, and without any reason.
So I don't thing rejecting at SMTP time is the best choice for everybody or that it would be the proper way.
Lots of people like to have their senders know if their mailbox is over quota. Af far as I know the sending smtp server can't do that.
 
I see what your saying but I want the sender to know the message was not delivered. Bouncing junkmail to over quota accounts can get you blacklisted but rejecting will not. If we had a list of email accounts say 90 percent full we could do something like this.

deny recipients = lsearch;/etc/virtual/over_quota
message = This email account is over quota. Mailbox is FULL

Something like this would give them that error message like this:

*****************
Delivery to the following recipient failed permanently:

*****@******.net

Technical details of permanent failure:
******** tried to deliver your message, but it was rejected by the server for the recipient domain ***********.net by mail.*********.net. [*.*.*.*].

The error that the other server returned was:
550 This email account is over quota. Mailbox is FULL
*****************

A reject message is very likely to make it through the senders spam filters since its from the senders MTA. A bounce not as likely.

The problem with this method here even if we had a list of over quota accounts is that forwarders do not work with it very well but I imagine that would be same with the default bounce.
 
That depends on with what error code exim will reply, it might be 4xx or 5xx:

452, "4.2.2", The email account that you tried to reach is over quota.

or

552, "5.2.2", The email account that you tried to reach is over quota.

Check: https://support.google.com/a/answer/3726730?hl=en

Errors 4xx are temporary errors, and sending server will re-try to send email after a while.
Errors 5xx mean no retry, email's rejected.


The current behavior of exim is to accept emails and put them in queue if an email box is over quota. Exim then later re-tries to deliver emails. And if delivery fails within a specified time it will be bounced.

It's good to have emails in queue, and if queue grows admin of the server can see it and take necessary actions to address the issue.

If emails will be rejected, then no emails will increase mail queue, so it might stay out of view of server administrator.

As for spammy bounces it might be a good solution to follow this guide: https://help.directadmin.com/item.php?id=145

So again I'd suggest that directadmin developers would add a tunable option so that we could choose exim's behavior on the matter.
 
Back
Top