Skip to main content

Root forward to locally forwarded email "user doesn't exist" despite forward working

Comments

5 comments

  • swipesy
    I had the same problem, which took me several hours to find the cause. I literally just found it and fixed it minutes ago. Without going into all the details, it came down to this line in exim.conf: require_files = "+/etc/valiases/$domain:+${extract{5}{::}{${lookup passwd{${lookup{$domain}lsearch{/etc/userdomains}{$value}}}{$value}}}}/mail/$domain/$local_part" dovecot_virtual_delivery will trigger a local delivery if the mail *folder* exists, whether or not the email account record does. Using the user@domain.com example (CPanel user "domain"), see if this folder exists: /home/domain/mail/domain.com/user If it does, that's the reason exim is trying to deliver the message there. Delete the "user" folder and the problem should go away. I don't know for sure, but I believe this started happening for me when courier was replaced with dovecot by CPanel. Hope that helps!
    0
  • cPanelMichael
    Hello, Could you verify if the hostname is missing from the /etc/localdomains file on the affected systems? If so, adding the server's hostname to this file should address the issue. Thank you.
    0
  • cPanelMichael
    To update, an unnecessary directory likely existed for the affected email account at the following location: /home/$cpanel-username/mail/$domain.com/$email-username/ The existence of such a directory can result in "User doesn't exist" error messages if no corresponding email account exists on the system. Manually creating an email account for the affected user or removing the offending directory are both effective workarounds. Thank you.
    0
  • mojo
    I had the same problem, which took me several hours to find the cause. I literally just found it and fixed it minutes ago. Without going into all the details, it came down to this line in exim.conf: require_files = "+/etc/valiases/$domain:+${extract{5}{::}{${lookup passwd{${lookup{$domain}lsearch{/etc/userdomains}{$value}}}{$value}}}}/mail/$domain/$local_part" dovecot_virtual_delivery will trigger a local delivery if the mail *folder* exists, whether or not the email account record does. Using the user@domain.com[/EMAIL] example (CPanel user "domain"), see if this folder exists: /home/domain/mail/domain.com/user If it does, that's the reason exim is trying to deliver the message there. Delete the "user" folder and the problem should go away. I don't know for sure, but I believe this started happening for me when courier was replaced with dovecot by CPanel. Hope that helps!

    Sorry it took me so long to respond to this, but this was exactly what it was. Thank you so much! The weird part is that I've been using a forward for at least a year, and this only started happening in the past couple of months. I'm not sure how to explain that, but it doesn't matter anymore as it's been fixed. Also thanks to cPanelMichael as he suggested the same thing as well.
    0
  • cPanelMichael
    he weird part is that I've been using a forward for at least a year, and this only started happening in the past couple of months. I'm not sure how to explain that

    cPanel version 58 switched to Dovecot as the local mail delivery agent: 58 Release Notes - Documentation - cPanel Documentation A few cases related to that change have since been addressed. You can view the full change log at: 58 Change Log - Change Logs - cPanel Documentation Thank you.
    0

Please sign in to leave a comment.