PAM_MAIL(8) Linux-PAM Manual PAM_MAIL(8)

pam_mail - Inform about available mail [close] [debug] [dir=maildir] [empty] [hash=count] [noenv] [nopen] [quiet] [standard]

The pam_mail PAM module provides the "you have new mail" service to the user. It can be plugged into any application that has credential or session hooks. It gives a single message indicating the newness of any mail it finds in the user's mail folder. This module also sets the PAM environment variable, MAIL, to the user's mail directory.

If the mail spool file (be it /var/mail/$USER or a pathname given with the dir= parameter) is a directory then pam_mail assumes it is in the Maildir format.


Indicate if the user has any mail also on logout.


Print debug information.


Look for the user's mail in an alternative location defined by maildir/<login>. The default location for mail is /var/mail/<login>. Note, if the supplied maildir is prefixed by a '~', the directory is interpreted as indicating a file in the user's home directory.


Also print message if user has no mail.


Mail directory hash depth. For example, a hashcount of 2 would make the mail file be /var/spool/mail/u/s/user.


Do not set the MAIL environment variable.


Don't print any mail information on login. This flag is useful to get the MAIL environment variable set, but to not display any information about it.


Only report when there is new mail.


Old style "You have..." format which doesn't show the mail spool being used. This also implies "empty".

The session and auth (on establishment and deletion of credentials) module types are provided.


Memory buffer error.


Badly formed arguments.




User not known.

Add the following line to /etc/pam.d/login to indicate that the user has new mail when they login to the system.

session  optional standard

pam.conf(5), pam.d(5), pam(8)

pam_mail was written by Andrew G. Morgan <>.

04/09/2024 Linux-PAM