mailcheck(1) Check multiple mailboxes and/or Maildirs for new mail


mailcheck [-lbcsh] [-f rcfile]


mailcheck is a simple, configurable tool that allows multiple mailboxes to be checked for the existence of mail. For local mail, it supports both the traditional mbox format and the newer Maildir format. Mail can also be checked for on remote servers using either the POP3 or IMAP protocol.

Typically, one would invoke mailcheck in /etc/profile or a user-specific login script. E-mail junkies may also find it useful to invoke mailcheck occasionally to check for new mail in alternate mailboxes.

The author uses mailcheck to keep track of messages arriving in mailboxes corresponding to several mailing lists he subscribes to.


Runs mailcheck in login mode. If a ~/.hushlogin file exists, mailcheck will exit silently. This option is intended to be used on systems that invoke mailcheck from a global login script such as /etc/profile.
Brief mode. Produces less verbose output. If mailbox or Maildir is inside user's home direcory, only relative path is printed to output.
Use more advanced counting method. While counting mails, mailcheck looks inside mboxes and Maildirs and count new and unread messages separately. If mbox/maildir does not contain any new or unread mail, it's excluded from report. Produced output contains more valuable information, but this method is more time-consuming.
Print "no mail" summary. If no new mail message is found, print at least "no mail message" at the end. Only makes sense in combination with -c.
Specify alternative rc file location. If provided, default locations (see FILES) are not checked.
Print short usage information.


Configuring mailcheck is simple. Upon startup, mailcheck looks for a file called .mailcheckrc in the user's home directory. If that file does not exist, the default configuration file /etc/mailcheckrc is used instead.

Lines beginning with a hash sign (#) are treated as comments and will not be processed. Lines beginning with pop3: or imap: are parsed like URLs and used to connect to network mail servers. All other lines are treated as pathnames to mailbox files or Maildir directories.

Environment variables in the format $(NAME) will be expanded inline. For example:

Will check the user's mailbox in /var/spool/mail.
Will check the default mailbox used by qmail installations.

When connecting to POP3 or IMAP servers, the account password is not stored in the mailcheckrc file. Instead, the .netrc file in the user's home directory is used. This file, originally intended for use with ftp(1) and later used by fetchmail(1), should be readable only by the user owning it. It stores server/user/password combinations in the form:

machine servername login username password password


This is the site-default mailcheck configuration file. It should be edited by the system administrator to meet the needs of most users on the system.
This is the user-specific mailcheck configuration file. If it exists for a particular user, the site-default configuration file will not be used.
This tells mailcheck what password to use for a given server/user combination when checking POP3 or IMAP mail.


Copyright (C) 1996, 1997, 1998, 2001, Jefferson E. Noxon.

Portions Copyright (C) 1996, Free Software Foundation, Inc.

Portions Copyright (C) 1996, Gordon Matzigkeit.

Portions Copyright (C) 1998, Trent Piepho.

Other copyrights may apply.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

On Debian GNU/Linux see /usr/share/common-licenses/GPL


Mailcheck was written for Debian GNU/Linux by Jefferson E. Noxon <[email protected]>.


POP3 and IMAP support was added by Rob Funk <[email protected]>.

Several enhancements by Tomas Hoger <[email protected]>.


It is probably not a good idea to store passwords in a .netrc file.

No SSL/TLS support for POP3 and IMAP.