Toto je starší verze dokumentu!


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

UPDATE: 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.

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.

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.1668944536.txt.gz
  • Poslední úprava: 2022/11/20 11:42
  • autor: Petr Nosek