Home : SYO : Linux : Servers :

Qmail

Mandrake notes

When I installed Mandrake 10.0 I went back to Sendmail because it was easier and less hassle. I transfered this from my old site and some formating was lost/messed up. Its mainly here in case I change my mind.

Qmail is not included in the distro for licensing reasons. The 8.2 djbsupport rpm (urpmi --auto-select qmail) is no longer included on the distro CD's. For 9.1 see http://rpmhelp.net. Use something like:

# urpmi.addmedia rpmhelp [url/[ver]/RPMS with ../base/hdlist.cz
or use Software Sources Manager. I did:

rpmhelp 9.1http://rpmhelp.net/9.1/RPMS../base/hdlist.cz

Now where the heck did the Courier RPM's go?...In 9.0, add another source:

rpmhelp 9.0http://rpmhelp.net/9.0/RPMS../base/hdlist.cz

I installed the following RPM's

qmail
daemontools
courier-imap
courier-imap-pop
vmailmgr
vmailmgr-courier-imap

Dependencies may have brought something else along for the ride.

/var/qmail/control/me defaults to your machine name, machine.domain.tld. It needs to be a valid domain, not something like localhost.

/var/qmail/control/plusdomain and defaultdomain default to the base domain, domain.tld.

In /var/qmail/control/locals put all non-virtualhost local delivery domains, e.g. localhost, machine.domain.tld and domain.tld.

In /var/qmail/control/rcpthosts put all hosts that you want to accept mail for (including virtualhosts).

In /var/qmail/control/aliases you probably want to change nobody to a valid address for you. You probably want to add a .qmail-root as well.

Create /Maildir's for existing users as those users (i.e. not as root).

$ /var/qmail/bin/maildirmake $HOME/Maildir $ echo ./Maildir/ > ~/.qmail

If this is not a virtualhost and you want basic on the fly email addresses, i.e. -@domain.tld, or if its a virtualhost without virtual users and you want basic on the fly email addresses, i.e. @virtualhost.tld, also do

$ echo ./Maildir/ > ~/.qmail-default

To add a virtual host/domain you can use Webmin or create the file yourself. All entries in virtualdomains need a corresponding A and MX record, e.g.

virtualdomain.tld. IN A    x.x.x.xvirtualdomain.tld. IN MX 10 mail.mailhost.tld.

/var/qmail/control/virtualdomains

In rcpthosts: virtdomain.com

In virtualdomains: virtdomain.com:

where is the system user that will have control of this virtual host.

If you use something other than you will need to setup aliases in /var/qmail/control/aliases (on the fly functionality is lost). To get the same wildcard functionality of you need to setup a -* alias mapped to in /var/qmail/users.

I favor simple .domain.tld: (or usersdomain.tld:user) setups because they are KISS (keep it simple stupid) and don't limit the options.

Without using vmailmgr virtualdomains are limited to one system user who can have any number of aliases and do whatever they want, i.e. @virtualdomain.tld will/can route to the or wherever they want.

With vmailmgr we add the option of creating non-system user mailboxes. What we trade is aliases for users. Instead of @virtualdomain.tld routing to we have @virtualdomain.tld. routing to . Virtual users have their own mail directory that is a sub-directory of the /users directory in the home directory.

Note: Because one way virtual users can login is with '-' (probably easier than the alternative '@virtdomain.com') the name of may be worth a second thought...And maybe you want to use another name all together (see alias discussion above)

To add virtual users to a virtual domain:

$ su - $ vsetup$ vadduser

There's a number of other options like

$ vaddalias virtuseralias

We still have alias functionality but its moved down a level and is handled by vmailmgr.

By default qmail will only relay mail for localhost.

Add allowable clients to /etc/tcprules.d/qmail-smtp, e.g. I added my LAN.

127.:allow,RELAYCLIENT=""192.168.0.:allow,RELAYCLIENT=""

Run

# service qmail cdb

when you're done

For Courier you will need to add authvmailmgr to the AUTHMODULES line in /etc/pop3d and imapd

AUTHMODULES="authvmailmgr authdaemon"

You will also need to put a link to authvmailmgr in /usr/lib/courier/authlib, its just below in /usr/lib/courier-imap/libexec/authlib. Same problem as in Mdk 8.2 but different locations (8.2 was /usr/lib/courier-imap/libexec/authlib >/usr/lib/authlib).

I haven't installed SquirrelMail (http://www.squirrelmail.org/) on the new system yet.

There is a current SquirrelMail RPM in Mandrake's Cooker contribshttp://rpms.mandrakeclub.com/rpms/mandrake-devel/contrib/i586/squirrelmail-1.4.1-2mdk.noarch.htmlbut its for httpd 1.3.27 and I'm using httpd2

The SquirrelMail site has Redhat 7.2? rpms that worked fine on earlier Mandrakes

In SquirrelMail I changed folder defaults using /var/www/squirrelmail/config/conf.pl

Folder Defaults
1. Default Folder Prefix         :
2. Show Folder Prefix Option    : false
3. Trash Folder                  : INBOX.Trash
4. Sent Folder                   : INBOX.Sent
5. Drafts Folder                : INBOX.Drafts

squirrel and virtual domains
qmail on mandrake
qmail rpms for Mandrake
vmmi, Virtual Mail Manager Interface for vmailmgrd.
Mail::Vmailmgr is a Perl module for vmailmgrd
"A PHP4 based qmail+vmailmgrd Web interface"
[ comment | link | top ]

Back to: Servers