Konfigurace Postfix Gmail App Password na Ubuntu

By | 04/12/2023

Last Updated on 16/04/2024 by administrator

Konfigurace Postfix Gmail App Password na Ubuntu

Konfigurace Postfix Gmail App Password na Ubuntu

Motivace:

Tento článek popisuje jak nakonfigurovat službu Postfix, což je Mail Transfer Agent (MTA), který slouží k přenosu a doručování e-mailových zpráv. Postfix je oblíbený pro svou snadnou konfigurovatelnost, vysokou výkonnost a bezpečnost. Součástí toho bude nastavení dvoufaktorovou autentizaci přes Gmail a vytvoření jedinečného heslo v App Passwords.

Pozn. Tento článek mi také pomohl s odstraněním problemu na Proxmox na kterém jel wordpress, který měl problém se zasíláním emailu (Undelivered Mail Returned to Sender).

.

Undelivered Mail Returned to Sender

OS:

Implementace byla prováděna na Ubuntu 22.04 LTS. Nicméně návod bude pravděpodobně aplikovatelný na nižší verze Ubuntu.

Implementace[1,2]:

1. Google – nastavení dvoufaktorové autentizace:

Postup k nastavení dvoufaktorové autentizace lze vidět v tomto článku, kde je nutné následně vygenerovat jedinečné heslo v App Passwords pro Postfix.

Gmail – nastavení dvoufaktorové autentizace a App Passwords

2. Konfigurace Postfix:

Níže uvedený příkaz nainstaluje Postfix, což je MTA (Mail Transfer Agent), který slouží k odesílání a přijímání e-mailů. Balíček libsasl2-2 obsahuje knihovnu pro Simple Authentication and Security Layer (SASL), která může být použita pro zabezpečení komunikace včetně autentizace. Balíček ca-certificates obsahující certifikáty certifikačních autorit. Je důležitý pro zajištění bezpečné komunikace přes SSL/TLS. Balíček libsasl2-modules obsahuje další moduly pro SASL.

apt install postfix libsasl2-2 ca-certificates libsasl2-modules

Otevřít konfigurační soubor main.cf pro Postfix:

vi /etc/postfix/main.cf

v main.cf zakomentovat řádky níže:

#mydestination = $myhostname, localhost.$mydomain, localhost
#relayhost =

a zkopírovat do main.cf tyto řádky níže, současně ověřit že tyto řádky v konfiguraci main.cf neexistují:

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_CAfile = /etc/ssl/certs/ca-certificates.crt

Vytvořit soubor sasl_passwd, který bude obsahovat informace potřebné k autentizaci na externím serveru:

vi /etc/postfix/sasl_passwd

a zkopírovat řádek níže, kde používaný emailový účet pro odesílání emailu je vaslogin@gmail.com a qcsn sxsk xmte mcas je heslo vygenerované přes App Passwords. Emailová adresa a heslo jsou oddělené dvojtečkou:

[smtp.gmail.com]:587 vaslogin@gmail.com:qcsn sxsk xmte mcas

Pro soubor sasl_passwd přidat oprávnění čtení a zápis

sudo chmod 600 /etc/postfix/sasl_passwd

Příkaz vytvoří ze souboru sasl_passwd databázi sasl_passwd.db (případně příkaz provede refresh DB souboru):

sudo postmap /etc/postfix/sasl_passwd

Zkontrolování konfigurace Postfix:

postfix check

Provést restart služby Postfix:

service postfix restart

Kontrola, zda služba Postfix běží:

service postfix status

Výstup příkazu service postfix status ukazuje, že služba Postfix je aktivní:

* postfix.service - Postfix Mail Transport Agent
     Loaded: loaded (/lib/systemd/system/postfix.service; enabled; vendor preset: enabled)
     Active: active (exited) since Mon 2023-12-04 22:05:36 UTC; 1min ago
       Docs: man:postfix(1)
    Process: 2467 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
   Main PID: 2467 (code=exited, status=0/SUCCESS)
        CPU: 2ms

Dec 04 22:05:36 postfix-clanek systemd[1]: Starting Postfix Mail Transport Agent...
Dec 04 22:05:36 postfix-clanek systemd[1]: Finished Postfix Mail Transport Agent.

Zaslání testovacího emailu:

Nainstalovat balíček mailutils, který obsahuje různé užitečné utility pro práci s e-mailovými zprávami, včetně odesílání a přijímání e-mailů:

apt install mailutils

Pro zaslání odeslání jednoduchého testovacího e-mailu lze využít příkaz níže, kde řetězec echo definuje obsah zprávy a mail -s zase předmět emailové zprávy:

echo "Test mail from postfix" | mail -s "Test Postfix" prijemce@seznam.cz

V případě problému se zasláním emailu, je možné kouknout do obsahu fronty odesílaných e-mailů, které jsou momentálně uloženy na serveru a čekají na doručení:

postqueue -p

Ukázka přijetí emailové zprávy:

Konfigurace Postfix Gmail App Password

Logy:

Při řešení troubleshootingu lze využít logovací soubor mail.log ve složce /var/log/, kde postfix standardně loguje:

cat /var/log/mail.log

Částečný výstup příkazu ukazuje, že testovací email byl správně odeslán:

Dec  4 22:12:55 postfix-clanek postfix/pickup[2468]: 84A3C589: uid=0 from=<root@postfix-clanek.lan>
Dec  4 22:12:55 postfix-clanek postfix/cleanup[2709]: 84A3C589: message-id=<20231204221255.84A3C589@postfix-clanek.localdomain>
Dec  4 22:12:55 postfix-clanek postfix/qmgr[2469]: 84A3C589: from=<root@postfix-clanek.lan>, size=376, nrcpt=1 (queue active)
Dec  4 22:12:57 postfix-clanek postfix/smtp[2711]: 84A3C589: to=<prijemce@seznam.cz>, relay=smtp.gmail.com[74.125.133.109]:587, delay=1.8, delays=0.03/0.13/0.51/1.1, dsn=2.0.0, status=sent (250 2.0.0 OK  1701727977 o14-20020a056000010e00b00333359b522dsm8520400wrx.77 - gsmtp)
Dec  4 22:12:57 postfix-clanek postfix/qmgr[2469]: 84A3C589: removed

Zdroj:

[1] https://easyengine.io/tutorials/linux/ubuntu-postfix-gmail-smtp/

[2] https://kifarunix.com/configure-postfix-to-use-gmail-app-passwords

Dobrovolný dar

Ahoj čtenáři, rád bych tě poprosil aby ses zamyslel, co je vše potřeba ke vzniku článku.
Jakožto amatérský softwarový kutil musím:

1) Nejdříve vše nastudovat v cizích jazycích.
2) Vše následně prakticky vyzkoušet.
3) Svoje poznatky a zkušenosti napsat do článku který si právě přečetl v jazyku kterému rozumíš.
4) Dát článku hlavu a patu a publikovat.

Každý článek zabere několik hodin práce, za kterou mi nikdo neplatí.
Prosím zvaž, kolik času jsem ti právě ušetřil.
Pokud ti to stojí aspoň za cenu jedné kávy, tak mi ji kup.
Předem moc děkuji.

Příspěvek tak můžeš provést zasláním libovolné částky na mé číslo účtu 1558701011/3030 Nebo můžeš dar poslat kliknutím na tento odkaz Podpořit tento WEB , který tě přesměruje na mou platební bránu Revolut.

Dar je také možné poslat ve formě Bitcoinu na BTC peněženku bc1qqdf5fp42a7srwwhh2rut8zr9x4jm5c8fqc9qw6

Veškeré peněžní prostředky budu také používat na zlepšení kvality své webové tvorby a na psaní nových technických návodů. Za každý dar předem děkuji.

Leave a Reply

Your email address will not be published. Required fields are marked *