Postfix logy a zprávy

Logy Postfixu jsou v adresáři /var/log v souboru mail.log (mail.log.1, mail.err, mail.err.1, …).

Maily pro uživatele jsou v adresáři /var/mail. Pokud máte uživatele root a donotreply budou v tomto adresáři dva soubory:

drwxrwsr-x 2 root mail 4096 Jan 3 07:47 ./
drwxr-xr-x 14 root root 4096 Jan 2 15:44 ../
-rw------- 1 donotreply mail 4606 Jan 2 18:29 donotreply
-rw------- 1 root mail 882 Jan 3 07:47 root

Do každého z nich se postupně zapisují přijaté zprávy.

SPF záznam

V rámci odesílání emailu je možné do hlavičky zprávy uvést libovolnou emailovou adresu odesílatele. Řešením je SPF (Sender Policy Framework), který umožňuje majitelům domén definovat, kdo může posílat emaily s adresou odesílatele z dané domény. Pokud SMTP server obdrží email, k doméně odesílatele získá dotazem do DNS záznam typu TXT, který obsahuje SPF pravidla a provede kontrolu.

Takto vypadá DNS záznam pro SPF u Wedosu:

typ: TXT, data: v=spf1 mx include:_spf.we.wedos.net -all

Zdroj: kb.wedos.com/cs/dns/teorie-dns/domeny-a-dns/spf-ochrana-proti-spamu-s-pomoci-dns/

Chyba v Postfixu: 451 4.3.0

Pokud v logu (na Ubuntu) /var/log/mail.log tento řádek:

NOQUEUE: reject: RCPT from from_domain[1.2.3.4]: 451 4.3.0 <to_mail>: Temporary lookup failure; from=<from_mail> to=<to_mail> proto=ESMTP helo=<domain>

může to být chybnou konfigurací řádku mynetworks v /etc/postfix/main.cf. Jsou tam sice uvedeny ip, odkud je možné maily posílat, ale daná ip není správně. V mém případě byla chyby, že místo ip sítě, jsem uvedl přesnou ip. Na toto mě upozornit další řádek v logu, kde bylo uvedeno:

warning: smtpd_client_event_limit_exceptions: non-null host address bits in "1.2.3.4/24", perhaps you should use "1.2.3.0/24" instead

 

Chyba v Postfixu: 454 4.7.1

Pokud používáte SMTP server Postfix a neodchází vám maily, podívejte se do logu Postfixu. Ten pravděpodobně najdete (v Ubuntu) ve složce /var/log/. Soubor s logy se jmenuje mail.log. Pokud v tomto souboru najdete chybu:

454 4.7.1 <to_email>: Relay access denied;

zkontrolujte si nastavení v konfiguračním souboru main.cf. Ten bývá v adresáři /etc/postfix. Pokud máte v řádku s smtpd_relay_restrictions uveden permit_mynetworks, je možná chyba v řádku mynetworks. Zde je třeba uvést ip, že kterých budou maily posílány. V mém případě byl problém s tím, že jsem sice měl uvedeny lokální adresy

mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128

ale chyběla mi tam ip, ze které se aplikace snažila přes tento SMTP Postfix server maily posílat (i když to bylo na jednom stroji).