My weekend project was to set up an SMTP and IMAP server on my home server so I could finally have my own mail server and be free from the prying eyes of the large email hosts.
Most of this process was relatively simple thanks to this wonderful guide from the Ubuntu help site. However, I ran into one problem: the courier-IMAP
server would not accept any connections with the default configuration. A quick look in the mail log revealed:
1
2
3
dovecot: master: Fatal: execv(/usr/lib/dovecot/imap-login) failed: No such file or directory
dovecot: master: Error: service(imap-login): child 7466 returned error 84 (exec() failed)
dovecot: master: Error: service(imap-login): command startup failed, throttling
Lo and behold, /usr/lib/dovecot/imap-login
did not exist. Furthermore, locate imap-login
returned nothing so I concluded that this binary was no where to be found on my system. However, apt-file search imap-login
showed that the package dovecot-imapd
provided imap-login
. I went ahead to install it to find that courier-imap
and dovecot-imapd
conflict with one another and apt won’t allow them both to be installed. So, my hack-ish workaround, copy the binaries I needed out of the directory, uninstall dovecot-imap
and reinstall courier-imap
. For those who just want the “solution”:
1
2
3
4
5
sudo apt-get install dovecot-imapd
cp /usr/lib/dovecot/{imap,imap-login} ~/
sudo apt-get remove dovecot-imapd
sudo apt-get install courier-imap
sudo cp ~/{imap,imap-login} /usr/lib/dovecot/
Obviously, this is not an ideal solution. Most likely, courier will break with a future update since imap-login
won’t be updated, but hopefully this dependency problem will be sorted by then.