On Mon, 22 Aug 2005 08:49:26 -0700 Tom Collins <[EMAIL PROTECTED]> wrote:
> On Aug 22, 2005, at 6:58 AM, Riccardo Bini wrote: > > ok.. with 5.4.12 works but not as I would want 8-) > > I mean when vdelivermail deliver the email and the user is over system > > quota > > vdeliver return a "deferral: system_error/". > > vdelivermail would have to return "user is over quota" with an > > 'deliver_quota_warning'. Instead the email keep in queue like an error > > message. > > Well, there's a good chance it won't be able to deliver the over quota > message if the user has hit their system quota. > > I'll take a look at the code, and see if we can catch the system quota > error and do an overquota bounce instead of a deferral. I think that it is a problem of i-node excess when a new email file opened. When a new email file is opened, it is necessary to check EDQUOT. --- vdelivermail.c.orig Wed Mar 23 15:18:11 2005 +++ vdelivermail.c Tue Aug 23 23:32:43 2005 @@ -429,6 +429,9 @@ /* open the new email file */ if ((write_fd=open(local_file_tmp, O_CREAT|O_RDWR, S_IRUSR|S_IWUSR)) == -1) { + if ( errno == EDQUOT ) { + return -1; + } printf("can not open new email file errno=%d file=%s\n", errno, local_file_tmp); return(-2); Best regards, -- Toshihiko Kyoda <[EMAIL PROTECTED]>