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í 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: