[Dovecot] deliver failing to execute sendmail (sieve)

Justin McAleer justin at fehuq.com
Thu Apr 19 23:13:47 EEST 2007

Justin McAleer wrote:
> I have apparently done something to mess up my test installation, as 
> deliver's attempts to send messages now fail with the following error:
> deliver(user at example.com): execv() failed: No such file or directory
> In these cases, I have sieve rules trying to send messages. It had 
> been working though, and I've tried going through all the changes I 
> made yesterday (related to dictionary quota debugging) to find what 
> could be wrong, but no luck so far. So, I was hoping for suggestions.
> Basically, deliver seems to not know where sendmail is. I have 
> sendmail_path set in dovecot.conf (never changed that), yet when 
> deliver tries to pull the location via deliver_set->sendmail_path, 
> it's just returning an empty string. If I hard-code the location in 
> smtp-client.c, it works again.
> Any ideas?
Sigh, well I finally found the problem. Ironically, this was caused by 
mail_debug being enabled. In smtp-client.c, with mail_debug enabled, 
smtp_env_clean() is called to prevent conflicts with postfix's debug 
setting. That results in the deliver_set structure getting wiped out, so 
deliver forgets where sendmail is (deliver_set->sendmail_path), 
effectively. Sorry for not supplying a fix, but I've already spent the 
better part of my day tracking this down... It does seem to be trying to 
preserve all the proper env variables, just not putting them back into 
the env.

More information about the dovecot mailing list