Probably it is some message from your system.
Type in terminal:
, and see how can you get this message from your system.
As inspiredlife explained, you can figure out whats happening using
If you don't want to delete bunch of unrelated / auto-generated messages one by one (like me), simply run the command below to get rid of all messages:
echo -n > /var/mail/yourusername
It means that a process or script you have created is sending mail to an account on your local machine (for example, a mail server running on localhost application).
Manage this mail with these commands:
t <message list> type messages
n goto and type next message
e <message list> edit messages
f <message list> give head lines of messages
d <message list> delete messages
s <message list> file append messages to file
u <message list> undelete messages
R <message list> reply to message senders
r <message list> reply to message senders and all recipients
pre <message list> make messages go back to /var/mail
m <user list> mail to specific users
q quit, saving unresolved messages in mbox
x quit, do not remove system mailbox
h print out active message headers
! shell escape
cd [directory] chdir to directory or home if none given
A consists of integers, ranges of same, or user names separated by spaces. If omitted, Mail uses the last message typed.
A consists of user names or aliases separated by spaces. Aliases are defined in .mailrc in your home directory.
I was also having this issue of "You have mail" coming up every time I started Terminal.
What I discovered is this.
Something I'd installed (not entirely sure what, but possibly a script or something associated with an Alfred Workflow [at a guess]) made a change to the OS X system to start presenting Terminal bash notifications. Prior to that, it appears Wordpress had attempted to use the Local Mail system to send a message. The message bounced, due to it having an invalid Recipient address. The bounced message then ended up in the local system mail inbox. So Terminal (bash) was then notifying me that "You have mail".
You can access the mail by simply using the command
This launches you into Mail, and it will right away show you a list of messages that are stored there. If you want to see the content of the first message, use
This will show you the content of the first message, in full. You'll need to scroll down through the message to view it all, by hitting the
If you want to jump to the end of the message, use the
If you want to abort viewing the message, use
To view the next message in the queue use
... assuming there's more than one message.
NOTE: You need to use these commands at the mail
? command prompt. They won't work whilst you are in the process of viewing a message. Hitting
n whilst viewing a message will just cause an error message related to regular expressions. So, if in the midst of viewing a message, hit
q to quit from that, or hit
spacebar to jump to the end of the message, and then at the
? prompt, hit
Viewing the content of the messages in this way may help you identify what attempted to send the message(s).
You can also view a specific message by just inputting its number at the
3, for instance, will show you the content of the third message (if there are that many in there).
d command (at the
? command prompt )
d [message number]
To delete each message when you are done looking at them. For example,
d 2 will delete message number 2. Or you can delete a list of messages, such as
d 1 2 5 7. Or you can delete a range of messages with (for example),
You can find the message numbers in the list of messages mail shows you.
To delete all the messages, from the mail prompt (
?) use the command
As per a comment on this post, you will need to use
q to quit mail, which also saves any changes.
If you'd like to see the mail all in one output, use this command at the bash prompt (i.e. not from within mail, but from your regular command prompt):
And, if you wish to delete the emails all in one hit, use this command
sudo rm /var/mail/<username>
In my particular case, there were a number of messages. It looks like the one was a returned message that bounced. It was sent by a local Wordpress installation. It was a notification for when user "Admin" (me) changed its password. Two additional messages where there. Both seemed to be to the same incident.
What I don't know, and can't answer for you either, is WHY I only recently started seeing this mail notification each time I open Terminal. The mails were generated a couple of months ago, and yet I only noticed this "you have mail" appearing in the last few weeks. I suspect it's the result of something a workflow I installed in Alfred, and that workflow using Terminal bash to provide notifications... or something along those lines.
If you have no interest in determining the source of the messages, and just wish to get rid of them, it may be easier to do so without using the
sudo rm /var/mail/YOURUSERNAME
If you don't want the hassle of using
and delete the mail with
sudo rm /var/mail/<username>