Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I Send Email from the Command Line?

I would like to quickly send email from the command line. I realize there are probably a number of different ways to do this.

I'm looking for a simple way to do this from a linux terminal (likely a bash shell but anything should do) and an alternative way to do this on Windows. I want to be able to whip up an email right on the command line or have the flexibility to pipe the message into the command line program. How would you go about doing this? If you have small scripts that would be fine as well.

like image 476
Joseph Pecoraro Avatar asked Aug 31 '08 00:08

Joseph Pecoraro


2 Answers

$ 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

like image 74
aryeh Avatar answered Oct 05 '22 10:10

aryeh


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.

like image 20
Kyle Cronin Avatar answered Oct 05 '22 11:10

Kyle Cronin