How to Send Email via SMTP Server from Linux Command Line (with SSMTP)

Channel: Linux
Abstract: Amazon SES etc. This article will help you setup SSMTP server and send email through Gmail servers. Step 1 – Install SSMTP Server SSMTP service packag

In the Global word, we always want to keep connected to everyone. To accomplish this email is also a very popular method to send and receive information. Linux systems also provide tools to send emails from the command line which is used to get system details, to send emails from shell scripts etc.

When we simply send email from Linux terminal, email sends as system [email protected] Some of the SMTP servers can block these emails or mark them as spam. So we need a process which maximizes the email delivery to the inbox. Using this article we are configuring our server to send email from SMTP servers like Gmail, Amazon SES etc. This article will help you setup SSMTP server and send email through Gmail servers.

Step 1 – Install SSMTP Server

SSMTP service packages are available under EPEL repository, So make you have EPEL yum repository configured in your system.

yum install ssmtp
Step 2 – Configure SSMTP

Now edit SSMTP configuration file and add the following values. For this tutorial, I am using the Gmail SMTP server. If you also want to set up with Gmail, make sure you have an email account with Gmail.

vim /etc/ssmtp/ssmtp.conf

Change the following values in the configuration file

 mailhub=smtp.gmail.com:587
 UseSTARTTLS=YES
 [email protected]
 AuthPass=XXXXXXXXXXXXXXX
 TLS_CA_File=/etc/pki/tls/certs/ca-bundle.crt

The above details are as followings,

  • mailhub: your smtp server host/ip with port.
  • UseSTARTTLS: Set it Yes if SMTP server uses TLS else No.
  • AuthUser: Use Gmail ID here
  • AuthPass: Use Gmail ID’s password
  • TLS_CA_File: This may required some time, If you face issue like 「send-mail: Cannot open smtp.gmail.com:587」
Step 3 – Send Test Email

Now test the setup by sending a test email to an email address. First compose the mail in text file like:

vim msg.txt

Add email content, for example:

msg.txt
Subject: This is Subject Line

Email content line 1
Email content line 2

Then send email to 「[email protected]」 using the ssmtp command:

ssmtp [email protected] < msg.txt

Let's check your mailbox for the new email.

Step 4 - Setup SSMTP as Default

Now set SSMTP as your default mail server, So that you can simply use mail command to send emails through SSMTP.

alternatives --config mta

There are 2 programs which provide 'mta'.

  Selection    Command
-----------------------------------------------
   1           /usr/sbin/sendmail.ssmtp
*+ 2           /usr/sbin/sendmail.sendmail

Enter to keep the current selection[+], or type selection number: 1

Verify the changes by

sendmail -V
sSMTP 2.61 (Not sendmail at all)
  • Read - 5 Ways to Send Email From Linux Command Line

Ref From: tecadmin

Related articles