December 21st, 2003, 04:18 PM
Vdelivermail not injecting mail to inboxes
I'm experiencing a problem with vdeliver mail not injecting e-mail to my virtual user mailboxes. I'm running qmail and using vpopmail for my virtual domains, and running all e-mail through spamassassin before sending it to vdeliver mail. I don't belive the problem is related to my configuration, I've used this configuration before, and I used the same rc and supervise scripts I used before. In fact it was running prefectly until yesterday. E-mail then started to not be delivered to my user's mailboxes. Instead it sits in the queue. I've double checked all my permissions and settings and nothing has changed. Any idea what may cause this?
December 22nd, 2003, 12:06 PM
That's all? Does it have mysql support? How do you know your mysql or whatever 3rd party modules holding all the virtual user info is running properly?
December 22nd, 2003, 12:42 PM
I'm not using MySQL or any 3rd party module to hold the virtual user info. I shouldn't need to, Vdelivermail does that for me by being called from a .qmail-default file to deliver the mail. For some reason vdelivermail just connot find any virtual user's Maildirs. It just started doing this out of the blue. The user and directories exist. Unless someone or something messed up the directory structure... I just don't know where to start looking....
December 22nd, 2003, 12:50 PM
Try to delete the vpasswd.cdb file and regenerate it by adding a temp user then delete it.
December 22nd, 2003, 01:08 PM
Ok, I tried that, there was no change... There are six domains the same occurs for all of them. I'm going to try deleting one of the domains all together.
December 22nd, 2003, 01:17 PM
You can also try to remove the spamassassin call in one of the domain's .qmail-default file. If it exits 0 then nothing is piped to vdelivermail.
I too use my own tool called qmail-spam and invoke it like so:
So in this situation you can try to pipe an email by hand to /var/qmail/bin/qmail-spam and see if it generates an error.
| /var/qmail/bin/qmail-spam | /home/vpopmail/bin/vdelivermail '' bounce-no-mailbox
Last edited by freebsd; December 22nd, 2003 at 01:20 PM.
December 22nd, 2003, 01:20 PM
Right, that's exactly how I did it. I removed the call to spamassassin. However, I just deleted an entire domain that wasn't being used then recreatred it. Mail started arriving just fine. No changes, no nothing. Any idea why that may have happened?
December 22nd, 2003, 01:23 PM
Try to run something like this:
cat exiting-email-message | /var/qmail/bin/qmail-spam > /some/dir/tmp-file
December 22nd, 2003, 01:40 PM
Ok, I get "cat: exiting-email-message: No such file or directory" what does this do? Sorry, to be so much of a hassle. I'm still on the Linux learning curve.
I'm actually using something like what you are, but slightly different, I took the qmail-queue binary and made a copy called qmail-queue.orig and edited the old qmail-queue to read.
/usr/bin/spamc | /var/qmail/bin/qmail-queue.orig
This is temporary to have a global spamassassin user_prefs.
Which is working on domains I recreated... I always was using that, but stopped working when I added a user yesterday. There are going to be over 1500 accounts on this machine, so I can't have that happen again.
December 22nd, 2003, 02:10 PM
It was just an example, you need to do this to a mail message reside in any Maildir for any account.
December 22nd, 2003, 02:31 PM
Ok, I did it, and there was nothing written to the tmp-file.
December 22nd, 2003, 03:27 PM
I figured it out. It was something stupid. I found the someone had entered all the virtual domains into the /var/qmail/control/locals file. Which caused Qmail to try to deliver those messages to Qmail user not the virtual users. Thank for all your help! Things are working great!
December 22nd, 2003, 11:23 PM
It's good that you solve the problem. Though please don't blindly make assumption by saying "I've used this configuration before, and I used the same rc and supervise scripts I used before. In fact it was running prefectly until yesterday" next time because someone beside you did altered the configuration files. Anyway, if it's your server, do not let anyone to su/sudo or use your root account.