Why does terminal say: "You have mail"?

Solution 1:

Somehow you've had a script or something similar deliver mail to your account on your local machine which is stored in /var/mail/$USER

You can either remove the file /var/mail/$USER which will remove the alert that you have mail (as it will alert you if that folder is present and/or has unread messages) or you can use mail to read the messages before deleting them.

Solution 2:

Type mail to view the mail. I believe d deletes it.

Solution 3:

There are several ways to remove it. The simplest is:

> /var/mail/<whatever_user>

You need to include the '>'