Linux Send Email From Console

last updated in Categories , , , , ,

How do I send an email using command line under Linux?

To send an email from console you need to use the mail command. It is an intelligent mail processing system which has a command syntax reminiscent of ed with lines replaced by messages. To send an email to you need to type the following command:


$ mail
Sample outputs:

Subject: Hello

How are you? 

Take care,


. <Type  DOT (.) followed by ENTER KEY>
Cc: <Press ENTER KEY>

You need to type . (dot) to send an email. To send contains of file (such as /tmp/message) as mail body, use the following syntax:
$ mail -s 'Hai' < /tmp/message

Please note that above command will NOT route an email if you do not have properly configured MTA/email/ISP server that accepts forwarding from your shell account. You can also use gmail account to forward email (i.e. relay email) as described here.

See also:


Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

19 comment

  1. Hi,
    I am not able to send mail using mail utility,
    I used

    mail -s “Subject”

    the moment I am sending mail, its getting bounced to delively failed list. I have tried several attempts, it not working. Do I have to configure some server like pop3 before I go ahead and send mail ?

    Please help in this regard.

    Syed Mateen

    1. Many email providers will not accept incoming mail from SMTP, which is what your computer probably uses as the default for the “mail” command. Gmail will, however, accept 50 incoming SMTP messages per day.

      If you want to configure your mail program to use something other than SMTP, then you’ve got a lot of setup ahead of you…

  2. Or you could use:
    uuencode FILENAME FILENAMEATTACH | mailx

    FILENAME is the original filename
    FINENAMEATTACH is the “destination” attachment filename

  3. I used the mail command to send a message to my mailbox as a test and on the console it seems working but when i check my mailbox i see no incoming message.
    Should i configure something so the command works properly?
    Thanks in anticipation.

  4. Hello. Shomeone could help me please, i tried to use the mail command but it does not work
    What must I do ?

    renato@‘s password:
    [renato@erycia2 ~]$ mail -s ‘hi’
    Null message body; hope that’s ok
    [renato@erycia2 ~]$ can not chdir(/var/spool/clientmqueue/): Permission denied
    Program mode requires special privileges, e.g., root or TrustedUser.

  5. In case anyone needs to troubleshoot the interactive command line mail process you can use:
    mail -v -s “Hello Recipient”
    Here is my full message

    The -v is verbose and it outputs the full details of the transaction between the sending and receiving servers.

    @Renato, it seems that your user doesn’t have the correct permissions to access the mail queue. Ask your sysadmin to add you to the group of users that is allowed to send email.

  6. i have used this mail option and its working

    i tries to reply to that from my mail box.. can some one assist me in replying the mail recieved from the linux box.

    Thanking you in advance

  7. when i use mail command its not working,I have made canges in the ,,resolve.conf,and hosts file too and i have restarted the service.but its not sending mail if i logged into the user ex and if i give the mail command its not hittting the id.but its working fr SMTP protocol,connecting it with relay server.then mail RCPT TO:id,it reaches the id.can anyone help me with this process of sending mail using mail command.OS is redhat 5.4

  8. Bonjour à tous!

    Je me suis essayé à envoyer un mail avec la commande “mail -s test”
    j’ai bien rempli la ligne Cc: puis Subject:
    J’ai ensuite de l’espace pour écrire mon mail mais je n’arrive pas à l’envoyer. Je m’explique, la commande “.” ne me permet pas de retourner sur la console.
    Quelqu’un pourrait m’aider? Merci!


  9. How, or is it possible to send mail with the mail command to a group instead of a user? I have been looking it up and can’t find anything leading me to believe that there is no way :(

    Still, have a question? Get help on our forum!