How can I move old mail from my Inbox to other folders on the server?

This page is showing a generic answer.
To see a more detailed answer customized for you, type your e-mail address here:

If you set up your mail program to leave previously read messages on the server for a long period of time, you may end up with a large number of messages in your Inbox.

This can become a problem. Most mail programs get slower when there are tens of thousands of messages in your Inbox, and if you switch to a new mail program (or your POP3 mail program forgets what it’s already seen, which is a common bug in some mail programs), it will try to download all the old messages again.

If you want to move these messages out of your Inbox but leave them on our servers (so you can still see them in Webmail or an IMAP mail program, or so that they’re included in our daily backups), the best solution is to move them into folders.

This page describes a method that keeps the messages in different folders on our servers. If you want to move the messages from our servers to folder on your own computer, see our page about archiving mail to your computer instead.

The most efficient way of doing this automatically requires using the Unix shell, as discussed below. If you’re not comfortable with that, just let us know and we’ll do it for you.

Many email programs also provide an "Archive" feature. In Outlook, search help for "AutoArchive". In Thunderbird, look at "Copies & Folders" in the account settings. Depending on how the archive feature is configured, the archived messages may be stored on your local computer instead of on our server. If so, be sure to keep backups.

Moving messages using the shell yourself

As mentioned above, we’ll be glad to do this for you if you ask. But technically advanced users can do it themselves if they wish.

Our servers offer a script that will archive all your old messages into server subfolders by date, grouped either by year or by month (such as a folder named “2016” for all messages in that year, or “2016-01” for all messages from January 2016). It does this by moving the actual files that hold the mail.

To use it, just make a shell connection and type one of these:

archive-old-mail-into-folders --by-year address@example.com
archive-old-mail-into-folders --by-month address@example.com

It will confirm what it’s going to move (by default, everything older than the last full month), then do it for you. If you use Webmail to read your mail, you may need to logout and login after doing this to see the new folders in the Webmail view.

You can specify a different number of months of mail to keep in the Inbox instead of archiving:

archive-old-mail-into-folders --by-month --keep-months 6 address@example.com
archive-old-mail-into-folders --by-year --keep-months 6 address@example.com

You can also run it in test mode, which will show you exactly what it would do without actually moving any mail:

archive-old-mail-into-folders --by-year --keep-months 6 address@example.com --test