How do I Send Email from the Command Line?

You can use mail:

$mail -s <subject> <recipients>

You then type your message and end it with a line that has only a period. This signals you are done and sends the message.

You can also pipe your email in from STDIN and it will be sent as the text of an email:

$<mail-generating-program> | mail -s <subject> <recipients>

One small note with this approach - unless your computer is connected to the internet and your DNS settings are set properly, you won't be able to receive replies to your message. For a more robust command-line program you can link to your POP or IMAP email account, check out either pine or mutt.


$ echo "This is the email body" | mail -s "This is the subject" [email protected]

Alternatively:

$ cat | mail -s "A few lines off the top of my head" [email protected]
This is where my
multiline
message would go
^D

^D - means press ctrl+d