Email Undelivered: can't create user output file

SYSTEM INFORMATION
OS type and version Ubuntu 20.04
Webmin version 1.994
Virtualmin version 7.1-1
Related packages SUGGESTED

I have gone through multiple threads with similar issues, they are old but issue is same:
like this one: Mail bouncing "can't create user output file"

Everything was working fine until i have enabled spamassasin for spam filter. If i disable spamassasin and revert procmailrc to default, everything works fine and spam filter is disabled.

something is wrong with loopup-domain thing which is causing issue or something else is wrong which I do not understand.

I tried all that is mentioned in restarting lookup-domain, checking user quotas etc.

/var/log/procmail.log shows:

Disk quota for user has been reached.
procmail: Program failure (73) of "/etc/webmin/virtual-server/lookup-domain.pl"

I am unable to figure out the issue. I would appreciate if anyone can point me to right direction so i can use email service with spam filter on my server.

Edit:
I tried running this…

echo test | sudo /etc/webmin/virtual-server/lookup-domain.pl user-domain.com
Disk quota for user-domain.com has been reached.
HTTP/1.0 302 Moved Temporarily

Is this output correct for lookup-domain.pl?

Ajay, the error indicates that the only problem with your system is that the user has exceeded the storage quota that you have assigned to him. There is no problem with Spam assassin so don’t try to fix what is not broken.

All you need to do to fix this problem is go to Virtualmin → Edit Users and increase the quota for the user.

Thank @calport however problem was something else… and probably its not taken care completely.

For normal users everything works fine. I figured out issue was something else running below command.

echo test | sudo /etc/webmin/virtual-server/lookup-domain.pl user-domain.com

I am running webmin at 11000 port and loopup-domain also runs at same port if not changed.

Here is the fix if you’re running webmin at 11000 port and ran into same issue.

  1. Change lookup-domain port in virtualmin:
    Goto Virtualmin → Email Settings → Spam & virus setting → Domain Lookup Daemon Port
    Change it to any value other than 11000, I set to 12000
  2. Update procmailrc file:
    Goto Webmin → Servers → Procmail Mail Filter → Manually Edit Configuration
    Change following line
VIRTUALMIN=|/etc/webmin/virtual-server/lookup-domain.pl --exitcode 73 $LOGNAME

to

VIRTUALMIN=|/etc/webmin/virtual-server/lookup-domain.pl --port 12000 --exitcode 73 $LOGNAME

Your changed port here.

That’s all. Now if you run

echo test | sudo /etc/webmin/virtual-server/lookup-domain.pl user-domain.com

It should output you correct domain ID
something like 1645784274306360

Hope this will help others to resolve issue similar to this one.

Wow, Ajay Bhai. Good work troubleshooting this. Thanks for letting us know.

The same problem I had 7 years ago! Essentially a documentation issue (undocumented ports and incorrect error messages), still causing difficulties.

I had to dive into the source to figure out the issue. This was not documented. Hope this helps someone facing similar issue.

This topic was automatically closed 8 days after the last reply. New replies are no longer allowed.