SSMTP - odesílání mailů skrze SMTP
sSMTP je dlouhodobě neudržovaný nástroj pro odesílání e‑mailů, jeho vývoj skončil zhruba kolem roku 2009 a v aktuálním Debianu 12 (Bookworm) už není v oficiálních repozitářích, protože byl zařazen mezi zastaralé balíčky. V Debian komunitě se proto považuje za nevhodný pro nové instalace, mimo jiné i kvůli potenciálním bezpečnostním rizikům plynoucím z let bez údržby a oprav. Jako modernější a udržované náhrady se obvykle doporučují minimalistické MTA nástroje msmtp (např. balík msmtp-mta pro sendmail rozhraní) nebo dma, které zvládají běžné scénáře typu odesílání systémových notifikací, cron reportů či jednoduchých aplikací bez nutnosti nasazovat plnohodnotný MTA jako Postfix nebo Exim.
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í e-mailu příkazovou řádkou s obsahem
Poslání výstupu programu mysqltuner.pl na můj e-mail:
./mysqltuner.pl | /usr/bin/mail -s "predmet e-mailu" mujemail@domena.cz
Postfix - přeposílání skrze 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: