A MTA is an application responsible for sending and receiving emails from one host to another.


Below are the various, well-known methods of sending an email with an attachment from the terminal.


1. Using mail Command


mail is part of the mailutils (On Debian) and mailx (On RedHat) package and it is used to process messages on the command line.

$ sudo apt-get install mailutils
# yum install mailx


Now its time to send an email attachment using mail command a shown.

$ echo "Message Body Here" | mail -s "Subject Here" user@example.com -A backup.zip


In the above command, the flag:

-s – specifies the message subject.

-A – helps to attach a file.


You can as well send an existing message from a file as follows:

$ mail -s "Subject here" -t user@example.com -A backup.zip < message.txt


2. Using mutt Command


mutt is a popular, lightweight command line email client for Linux.


If you do not have it on your system, type the command below to install it:

$ sudo apt-get install mutt
# yum install mutt


You can send an email with attachment using the mutt command below.

$ echo "Message Body Here" | mutt -s "Subject Here" -a backup.zip user@example.com


where the option:


-s – indicates the message subject.

-a – identifies the attachment(s).


3. Using mailx Command


mailx works more like the mutt command and it it also a part of mailutils (On Debian) package.

$ sudo apt-get install mailutils
# yum install mailx


Now send the attachment mail from the command-line using mailx command.

$ echo "Message Body Here" | mailx -s "Subject Here" -a backup.zip user@example.com


4. Using mpack Command


mpack encodes the named file in one or more MIME messages and sends the message to one or more recipients, or writes it to a named file or set of files, or posts it to a set of newsgroups.

$ sudo apt-get install mpack
# yum install mpack


To send a message with attachment, run the command below.

$ mpack -s "Subject here" file user@example.com


Was this answer helpful? 0 Users Found This Useful (0 Votes)