Skip to content


Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Bash eMail client

Probably the worlds smallest, simplest, yet full featured eMail client without any dependencies beyond a working GNU environment running Bash.

Use it as a fallback, as a quick & slim alternative or as a tool to read, send and manage messages.


Following commands are available:

p(eek)               peek for new messages
s(tatus)             request mailbox status
n(ew)                list new messages only
t(ail) [N]           list the latest N messages
l(ist) [N[-N]]...    list messages
r(ead) [N[-N]]...    read message
x(tract) N[-N]...    extract attachments of message N
f(ile) N[-N]...      file message
d(elete) N[-N]...    remove message
a(nswer) N           answer message
w(rite) ADDRESS      write a message to ADDRESS
m(ime) FILE          show a message file in MIME format (e.g. *.mbs)
c(lear)              clear screen (or CTRL+L)
h(elp)               show this info
q(uit)               quit (or CTRL+D)

You may invoke the commands directly from the command line, e.g.:

$ readmail s 'f 1' 'r 3-5' q

Or inside the interactive shell.


Just run readmail or create a ".readmailrc" in your home directory and put the following lines into it (fill in the values in brackets):

POP_HOST='(your POP3 server)'
POP_ACCOUNT='(your POP3 account)'
POP_PASSWORD='(your POP3 password, this is optional)'

Append this block to configure your SMTP settings:

SMTP_HOST='(your SMTP server)'
SMTP_ACCOUNT='(your SMTP account)'
SMTP_PASSWORD='(your SMTP password, this is optional)'

If you don't want to give passwords, readmail will ask you for it.


Quickly get the size of your mailbox:

$ readmail s q

Show your latest message:

$ readmail r q

Get the number of new messages since the last call:

$ FORMAT="%d\n" readmail p q

Send a message in one line:

$ ATTACHMENTS=' ' SUBJECT='subject' BODY='body' \
	readmail 'w' q

Send one or more files:

$ ATTACHMENTS='file1 file2' SUBJECT='subject' BODY='body' \
	readmail 'w' q


No releases published


No packages published