Exim errors with jailshell


Jun 5, 2005
I send some large mailings by launching a script in the background from SSH. I've run into some errors that have been occurring in those mailings that were causing me to lose emails and get excessive bounces so that some of my customers weren't getting my emails and were getting removed from my mailing list due to excessive bounces. I finally correlated it with jailshell and found the three problems that happen when sending email under jailshell:

1) Emails sent to local domains get frozen with "R=dk_lookuphost defer (-1): lowest numbered MX record points to local host" because exim is unable to read /etc/localdomains under jailshell

2) Bounced email messages get frozen with "failed to expand condition "${perl{checkspam2}}" for checkspam2 router: syntax error in Exim::expand_string argument: failed to open /etc/relayhostsusers for linear search: No such file or directory at /etc/exim.pl.local line 166." and eventually the same lookup error as in 1 above. Basically its the same problem of not being able to read configuration files in /etc.

3)When the recipient server is greylisting (e.g. 450 response on first send to remote server) and exim is requeuing the email to send later it fails with "Gid 515 is not permitted to relay mail, or has directly called /usr/sbin/exim instead of /usr/sbin/sendmail." Gid 515 is the Gid for the account I send the emails from. This one in particular was bouncing a bunch of emails.

I built some simple sendmail test cases to verify these errors are caused by jailshell and now have switched the account I send email with to bash and my emails are flowing nicely now.

I haven't found anything elsewhere documenting jailshell problems with sending mail so I thought I'd pass it on to prevent someone else from pulling out their hair like I was. I've asked my hosting provider to submit a bug report.