Configure sending mail via sSMTP on Linux
These are instructions for setting up mailings through the Selectel mail service using the sSMTP utility on a Linux server.
-
Make sure that you have connected the mail service for the domain and the domain has been given a status of
Verified
. Connected domains and their statuses can be viewed in the control panel under Postal service → resource page → tab Information → block Bound domains. -
Connect to the server in the Selectel infrastructure from which you plan to send mailings:
Dedicated server
Cloud server
Connect to the server SSH or via KVM console.
Connect to the server SSH or through the console in the control panel.
-
Install sSMTP:
Debian / Ubuntu
CentOS
sudo apt update
sudo apt install ssmtpsudo yum update
sudo yum install ssmtp -
Install the auxiliary utility
mailx
to send the mail:Debian / Ubuntu
CentOS
sudo apt install mailutils
sudo apt install mailx
-
Set
nano
:Debian / Ubuntu
CentOS
sudo apt install nano
sudo yum install nano
-
Open the configuration file
ssmtp.conf
:nano /etc/ssmtp/ssmtp.conf
-
Change the contents of the file:
Debian / Ubuntu
CentOS
mailhub=smtp.mail.selcloud.ru:<port>
AuthUser=<login>
AuthPass=<password>
AuthMethod=LOGIN
rewriteDomain=<example.com>
hostname=smtp.mail.selcloud.ru
FromLineOverride=No
UseSTARTTLS=Yes
UseTLS=Yes
# Если <port>=1126, то UseTLS=No
TLS_CA_File=/etc/ssl/certs/ca-certificates.crtSpecify:
-
<port>
— port:1126
— if you need to establish a no SSL / STARTTLS connection;1127
— if you want to establish a TLS (SSL) connection.
-
<login>
— login, you can look at control panel under Postal service → page of the resource to which the domain is added → tab Information; -
<password>
— password, you can look in control panel under Postal service → page of the resource to which the domain is added → tab Information; -
<example.com>
— the domain from which to send mailings.
mailhub=smtp.mail.selcloud.ru:<port>
AuthUser=<login>
AuthPass=<password>
AuthMethod=LOGIN
rewriteDomain=<example.com>
hostname=smtp.mail.selcloud.ru
FromLineOverride=No
UseSTARTTLS=Yes
UseTLS=Yes
# Если <port>=1126, то UseTLS=No
TLS_CA_File=/etc/pki/tls/certs/ca-bundle.crtSpecify:
-
<port>
— port:1126
— if you need to establish a no SSL / STARTTLS connection;1127
— if you want to establish a TLS (SSL) connection.
-
<login>
— login, you can look at control panel under Postal service → page of the resource to which the domain is added → tab Information; -
<password>
— password, you can look in control panel under Postal service → page of the resource to which the domain is added → tab Information; -
<example.com>
— the domain from which to send mailings.
-
Close the file (Ctrl+X) and save your changes (Y).
-
Open the configuration file
revaliases
:sudo nano /etc/ssmtp/revaliases
-
Add a string with the address that should appear as the sender's address in mailings through the mailing service:
root:<sender_email>:smtp.mail.selcloud.ru:<port>
Specify:
<sender_email>
— the sender address on the domain you have connected to the mail service, e.g.sender@example.com
;<port>
— port that you specified in step 7.
-
Close the file (Ctrl+X) and save your changes (Y).
-
Replace the default mail sender with the configured sSMTP:
sudo mv /usr/sbin/sendmail /usr/sbin/sendmail.orig
-
Create a symlink to
ssmtp
instead ofsendmail
:sudo ln -s /usr/sbin/ssmtp /usr/sbin/sendmail
-
Send a test mailing:
$ echo test | mail -s "testing ssmtp" <recipient_email>
Specify
<recipient_email>
— the address to which you want to send the test mailing.