Server configuration

Creating email addresses and mailboxes

Addresses and mailboxes

You can configure email for your domain using the customer control panel. Start by selecting the hosting account you wish to configure. This will bring you to a page that lists all the domains hosted on this hosting account. Opposite each domain you will see several links to configure the domain. Follow the link labelled Email addresses

You should now be looking at a page that describe the mail configuration for a single domain. The page is divided into Email addresses and Mailboxes.

Creating a mailbox

Before you can receive any email at all, you will need to create a mailbox where it will be stored. Follow the Create mailbox link at the bottom of the Mailboxes section. Enter a name for the new mailbox and a password.

Pressing the Add button will create the new mailbox. It will also create an email address configured to deliver to that mailbox.

For example, suppose your domain name is wonderland.com and you create a mailbox with the username alice. You now have two things:

  • a mailbox which you can configure your client to access using the name alice@wonderland.com; and
  • the email address alice@wonderland.com, which will deliver to the mailbox.

You might find it helpful to think of the mailbox as a pigeon hole. It is a place where messages can be delivered. The email address is the label on that pigeon hole.

Creating another email address

Suppose you also want to receive email to the address alice.liddell@wonderland.com. Follow the Add email address link at the bottom of the Email addresses section. Enter alice.liddell in the box, then click Add delivery action. Select Save to mailbox and if you have more than one mailbox, choose the appropriate one from the dropdown menu.

Now people can send email to either address, alice@wonderland.com or alice.liddell@wonderland.com, and it will all be delivered to the same mailbox. You still have a single pigeon hole, but it now has two labels on it.

More labels on the pigeon hole? No problem! If Alice is the sales manager, you might want to create a third email address, sales@wonderland.com that also delivers to her mailbox. Now if Alice changes jobs, she will keep the alice@.. address, while sales@.. can be updated to deliver to the mailbox of her replacement.

Generally speaking, you will want one mailbox per person who is using email at your domain, and one or more email addresses per mailbox.

Multiple domains

You can have multiple email domains hosted on your account. If so, then it's up to you whether to treat them all individually, or to group some or all of them together. By default, all domains are in a single group, which is called default in the control panel.

Suppose you added email hosting for the domain lookingglass.uk to your account. It will go into the default domain group and all the email addresses you've created will automatically exist on the new domain. For example, email to alice.liddell@lookingglass.uk will be accepted and delivered to Alice's mailbox, with no extra configuration needed.

If you want the new domain to be treated separately, you will need to move it into a new domain group. Follow the link Manage domain groups, then change group then Create new domain group. The names of domain groups are only used internally; they are not visible to the outside world. For this example, we'll call the domain group lglass

Note that setting the domain group to a new value like this will remove all email addresses from that domain. Now that we've moved lookingglass.uk into its own domain group, the email address alice@lookingglass.uk and the others on this domain no longer exist. The addresses on other domains, such as alice@wonderland.com and not affected. You may want to recreate some addresses.

Suppose you now add email hosting for lookingglass.com to your account. To add this into a domain group with lookingglass.uk, visit the Manage email domains and set the domain group to lglass. Because this is an existing domain group, any addresses you already defined for lookingglass.uk will also work at lookingglass.com immediately.

Advanced usage

The web interface described above manipulates standard Exim .forward files in your home directory. You can of course create and edit these files directly, if you prefer. (You might find it simplest to use the web interface to create an initial file in the right format, then edit it from there.)

Each email address is controlled by the file named .forward-domaingroup-localpart, for example .forward-lglass-alice. (If you've used the default null domaingroup, then it's just .forward-localpart.)

At the simplest level you can configure all your email to be forwarded to a single email address by creating a .forward-default file in your home directory containing the address you want your email forwarded to. (Note that your .forward files need to be world readable so that Exim can verify valid email addresses before accepting mail.) Note that **creating a default .forward file is not recommended** as spammers often make up random local-parts to send mail to such as common first names

For example, if your domain is foobar.co.uk, username foobar and you create a ".forward-default" file containing "me@bar.com" then all mail to foobar.co.uk will be forwarded to me@bar.com.

If instead you'd prefer to forward email to different places depending on whom it's addressed to then you can create a .forward-<local-part> file containing the email address to forward to.

Taking the above example, if we added a ".forward-sales" file containing "alice@rabbithole.com" then any email to sales@foobar.co.uk would be forwarded to alice@rabbithole.com, while all other email to foobar.co.uk would go to me@bar.com.

By removing the .forward-default file you can make us only accept mail for addresses at your domain you have specified with .forward-<user> files.

So, again taking our above example, if we delete the .forward-default file mail to sales@foobar.co.uk will be forwarded to alice@rabbithole.com while all other mail to foobar.co.uk will be bounced with a message saying that the email address doesn't exist. This means that if you have no .forward-<local-part> files and no .forward-default file then no email address at your domain will work.

If you wish to have mail end up in your POP3/IMAP mailbox then instead of putting an email address in the .forward files above you simply create a file containing /home/<username>/Maildir/. You can create more POP/IMAP mailboxes through the web interface mentioned above. If you have configured additional POP3/IMAP mailboxes then you can specify these by putting /home/<username>/popboxes/<popusername>/Maildir/ into the .forward file, with popusername being the username that you use to access the mailbox you wish the mail to go into but with the @ in the username replaced by a %.

Thus, with the above example in mind, if we recreate the .forward-default file but put /home/<username>/Maildir/ in it mail to sales@foobar.co.uk will be forwarded to alice@rabbithole.com while all other mail to foobar.co.uk will end up in foobar's POP3/IMAP mailbox.

Or for Alice's mail if you create a new mailbox with the popusername alice@domainname.co.uk then to forward mail to this box you would place /home/<username>/popboxes/alice%domainname.co.uk/Maildir/ in the appropriate .forward file.

If you want to have all email for <local-part>-anything treated in a particular way you can create a .forward-<local-part>-default which will forward <local-part>-anything in that particular way.

All messages in your POP3/IMAP mailbox (and indeed even those forwarded through Black Cat) contain an "X-BlackCat-To:" header allowing you to tell who the message was actually to at your domain. This is useful if you're using something like fetchmail to pick up mail from your POP3/IMAP mailbox or are forwarding all your email to one address.

The format of the "X-BlackCat-To:" header is <username>-<local-part>@<domain>. For example, an email to sales@foobar.co.uk would be forwarded to alice@rabbithole.com including a header "X-BlackCat-To: foobar-sales@foobar.co.uk".

Multiple domains

If you have multiple domains, the way they are handled depends on whether the domain has a subuser associated with it, and if so, what it is. All domains with the same subuser have the same alias files applied to it.

If the subuser is blank (the default) then the domain's alias configuration will be handled as above. Otherwise, you will need to add the subuser into the filenames. Example: .forward-mysubuser-myalias or .forward-mysubuser-default.

The subuser will initially be set when ordering a domain pointing. You can change it later - see "Manage mail domain subusers" in the control panel described above

Exim filters

We also allow exim filter files to be uploaded as any of your .forward-blah files. Please create a normal Exim filter and then upload it in place of the relevant alias you wish to filter.

The pipe command is restricted and we would urge people not to use it but rather use alternatives in the filter language itself. We do allow fail and defer in user filters.

The filter files should follow the Exim 4 filter specification

As you cannot run exim -bf to test your filter files on yali you have to use the filter file test script from Yali's control panel.

If you can't find what you're looking for feel free to contact us