[Dovecot] deliver failing to execute sendmail (sieve)
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@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?
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@example.com): execv() failed: No such file or directory Are you useing mail_chroot ?
If so, you don't have sendmail binary in chroot...
Actually LDA sieve don't work as expected if mail_chroot is set.
Uldis
Uldis Pakuls wrote:
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@example.com): execv() failed: No such file or directory
Are you useing mail_chroot ?
If so, you don't have sendmail binary in chroot...
Actually LDA sieve don't work as expected if mail_chroot is set.
Uldis
No, it's not that simple, unfortunately. If that were the problem, the error would have included the location of sendmail it was trying to use, if I read the source correctly: execv(/usr/sbin/sendmail): No such file or directory. Plus, as I said, if I change the source to run /usr/sbin/sendmail, rather than pulling the config setting, it works.
Hi folks,
the same error here!
Setting the sendmail path in the dovecot configuration file doesn't work! :-(
The only solution until no is hard-coding the sendmail path in smtp-client.c!
BTW, the postmaster setting in the dovecot configuration file is recognized!
Very strange! :-(
~ HD ~
Uldis Pakuls wrote:
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@example.com): execv() failed: No such file or directory
Are you useing mail_chroot ?
If so, you don't have sendmail binary in chroot...
Actually LDA sieve don't work as expected if mail_chroot is set.
Uldis
No, it's not that simple, unfortunately. If that were the problem, the error would have included the location of sendmail it was trying to use, if I read the source correctly: execv(/usr/sbin/sendmail): No such file or directory. Plus, as I said, if I change the source to run /usr/sbin/sendmail, rather than pulling the config setting, it works.
--
HD Stich hd@palmtopia.de http://monospot.de/ http://DigitalFotoKunst.de/
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@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.
Justin McAleer wrote:
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@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. tnx for informations, I already found, that there is serious problems with mail_chrot. actually it seams smtp-client must be another separated, no chrooted process (or all LDA), as it is difficult to put all external binaries and libs required by plugins [at last sieve, spamassassin etc.] in chroot environment...
participants (3)
-
HD Stich
-
Justin McAleer
-
Uldis Pakuls