SSMTP - odesílání mailů skrze SMTP

Aby se mnou server mohl komunikovat, bude rozumné vyřešit posílání e-mailů. Určitě nemá smysl kvůli pár e-mailům instalovat službu jako je postfix či jiné. Jednoduše nakonfiguruji systém tak, aby mi posílal poštu z freemailové schránky přes protokol SMTP. K tomu slouží utili SSMTP.

sudo apt install ssmtp
cd /etc/ssmtp

Ve složce jsou nyní 2 soubory. Nejprve soubor revaliases. Dle konfigurace přesměrovávám poštu od uživatelů systému na freemail Google.

# sSMTP aliases
# 
# Format:       local_account:outgoing_address:mailhub
#
# Example: root:your_login@your.domain:mailhub.your.domain[:port]
# where [:port] is an optional port number that defaults to 25.
root:petr.nosek@gmail.com:smtp.gmail.com:587
user:petr.nosek@gmail.com:smtp.gmail.com:587

Pak je tu soubor ssmtp.conf, ve kterém jsou autentizační údaje.

#
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=petr.nosek@janekdo.cz
 
# The place where the mail goes. The actual machine name is required no 
# MX records are consulted. Commonly mailhosts are named mail.domain.com
mailhub=smtp.gmail.com:587
AuthUser=petr.nosek@gmail.com
AuthPass=prisnetajneheslo
UseTLS=YES
UseSTARTTLS=YES
 
# Where will the mail seem to come from?
#rewriteDomain=
 
# The full hostname
hostname=bananapir2
 
# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
FromLineOverride=YES

Pokud jsem všechno nastavil správně, tak už zbývá otestovat.

root@bananapir2:~# sendmail petr.nosek@gmail.com
Subject: testovaci zprava ze serveru
 
Toto je obsah testovaci zpravy.

Pro odeslání pak zmáčknout Ctrl+d. E-mail by pak měl být odeslán skrze nastavený SMTP server.

V diskusi jsem se dočetl, že SSMTP je neudržovaný kód a bude nebo je vyřazen z repozitářů. Doporučení je přejít na msmtp. Zatím mi ssmtp funguje, tak je otázkou, jestli se něco změnilo nebo časem fungovat přestane.

Poslání výstupu programu mysqltuner.pl na můj e-mail:

./mysqltuner.pl | /usr/bin/mail -s "predmet e-mailu" mujemail@domena.cz

Použití mailového serveru Postfix není předmětem tohoto příspěvku. Nicméně kdybych chtěl využít Postfix na přeposílání pošty skrze SMTP server, tak do souboru /etc/postfix/sasl_passwd přidám tento řádek:

[smtp.gmail.com]:587 petr.nosek@gmail.com:supertajneheslo

Následně by měl být spuštěn příkaz na zaheshování hesla:

chmod 600 /etc/postfix/sasl_passwd
postmap /etc/postfix/sasl_passwd
apt-get install libsasl2-modules

A soubor /etc/postfix/main.cf by měl obsahovat toto:

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_tls_security_level = encrypt
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt

zdroje:

  • it/server/ssmtp.txt
  • Poslední úprava: 2022/12/09 21:26
  • autor: Petr Nosek