Nastavení vlastního e-mailového serveru na Linuxu od nuly je dlouhý a zdlouhavý proces, což je bolest v zadku, pokud nejste pokročilý uživatel. Tento tutoriál vám ukáže, jak používat iRedMail k rychlému nastavení plnohodnotného poštovního serveru na Ubuntu 20.04, což vám ušetří spoustu času a bolesti hlavy.
Co je iRedMail?
iRedMail je shell skript, který automaticky instaluje a konfiguruje všechny potřebné součásti poštovního serveru na vašem Linux/BSD serveru, čímž eliminuje manuální instalaci a konfiguraci. S iRedMail můžete snadno vytvořit neomezený počet poštovních schránek a neomezený počet poštovních domén ve webovém administračním panelu. Poštovní schránky mohou být uloženy v MariaDB/MySQL, databázi PostgreSQL nebo OpenLDAP. Níže je uveden seznam softwaru s otevřeným zdrojovým kódem, který bude automaticky nainstalován a nakonfigurován službou iRedMail.
- Server Postfix SMTP
- Server IMAP společnosti Dovecot
- Nginx webový server pro obsluhu panelu administrátora a webové pošty
- OpenLDAP, MySQL/MariaDB nebo PostgreSQL pro ukládání uživatelských informací
- Amavised-new pro podepisování a ověřování DKIM
- SpamAssassin pro ochranu proti spamu
- ClamAV pro antivirus
- Webová pošta Roundcube
- Skupinový software SOGo poskytující webovou poštu, kalendář (CalDAV), kontakty (CardDAV), úkoly a služby ActiveSync.
- Fail2ban pro ochranu SSH
- správce seznamu adresátů mlmmj
- Monitorování serveru Netdata
- Server zásad iRedAPD Postfix pro greylisting
Krok 1:Vyberte správného poskytovatele hostingu a kupte si název domény
Chcete-li nastavit plnohodnotný e-mailový server s iRedMail, potřebujete server s alespoň 3 GB RAM, protože po instalaci bude váš server využívat více než 2 GB RAM.
Důrazně se doporučuje nainstalovat iRedMail na čistou instalaci Ubuntu 20.04 server.
Tento tutoriál se provádí na 9 $ měsíčně Kamatera VPS (virtuální soukromý server) s 1 CPU a 3 GB RAM. Nabízejí 30denní bezplatnou zkušební verzi.
Kamatera je velmi dobrá volba pro provoz poštovního serveru, protože
- Neblokují port 25 , takže můžete posílat neomezené množství e-mailů (transakční e-maily a zpravodaje), aniž byste museli utrácet peníze za přenosovou službu SMTP. Kamatera nemá žádné limity SMTP. Denně můžete poslat milion e-mailů.
- IP adresa není na žádné e-mailové černé listině . (Alespoň to platí v mém případě. Vybral jsem si datové centrum Dallas.) Rozhodně nechcete být uvedeni na obávané černé listině IP aplikace Microsoft Outlook nebo na černé listině spamratů. Některé černé listiny blokují celý rozsah IP adres a nemáte žádný způsob, jak odstranit svou IP adresu z tohoto druhu černé listiny.
- Záznam PTR můžete upravit, abyste zlepšili doručování e-mailů.
- Umožňují vám zasílat informační bulletiny vašim e-mailovým odběratelům s ne hodinové nebo denní limity.
- Pro jeden server si můžete objednat více IP adres. To je velmi užitečné pro lidi, kteří potřebují posílat velké množství e-mailů. E-mailový provoz můžete rozložit na více IP adres, abyste dosáhli lepší doručitelnosti e-mailů.
Jiní poskytovatelé VPS, jako je DigitalOcean, blokují port 25. DigitalOcean by port 25 neodblokoval, takže budete muset nastavit relé SMTP, abyste obešli blokování, což vás může stát další peníze. Pokud používáte Vultr VPS, pak je port 25 ve výchozím nastavení blokován. Mohou jej odblokovat, pokud otevřete lístek podpory, ale mohou jej kdykoli znovu zablokovat, pokud usoudí, že vaše aktivita při odesílání e-mailů není povolena. Vultr jej může ve skutečnosti znovu zablokovat, pokud používáte jejich servery k zasílání newsletterů.
Přejděte na web Kamatera a vytvořte si účet a poté vytvořte svůj server na hlavním panelu svého účtu.
Pro správné nastavení vašeho Linux VPS serveru na Kamateře doporučuji postupovat podle níže uvedeného návodu.
- Jak vytvořit Linux VPS server na Kamateře
Jakmile vytvoříte server, Kamatera vám pošle e-mail s přihlašovacími údaji SSH serveru. Pro přihlášení k serveru použijte SSH klienta. Pokud na svém počítači používáte Linux nebo macOS, jednoduše otevřete okno terminálu a spusťte následující příkaz pro přihlášení k serveru. Nahraďte 12.34.56.78 IP adresou vašeho serveru.
ssh [e-mail chráněný]
Budete požádáni o zadání hesla.
Potřebujete také název domény. Zaregistroval jsem své doménové jméno od NameCheap, protože cena je nízká a poskytují ochranu soukromí whois doživotně zdarma.
Krok 2:Vytvoření DNS MX záznamu
Záznam MX určuje, který hostitel nebo hostitelé zpracovávají e-maily pro konkrétní název domény. Například hostitel, který zpracovává e-maily pro linuxbabe.com
je mail.linuxbabe.com
. Pokud někdo s účtem Gmail odešle e-mail na [email protected]
, pak server Gmail požádá o záznam MX linuxbabe.com. Když zjistí, že mail.linuxbabe.com
je zodpovědný za přijímání e-mailů, poté se dotazuje na záznam A z mail.linuxbabe.com
získat IP adresu, aby mohl být e-mail doručen.
Chcete-li vytvořit záznamy DNS, musíte přejít na svou hostingovou službu DNS (obvykle váš registrátor domény). Ve správci DNS vytvořte záznam MX pro název své domény. Zadejte @
do pole Název, které bude představovat hlavní název domény, poté zadejte mail.your-domain.com
v poli Hodnota.
Poznámka: Název hostitele pro záznam MX nemůže být alias jiného jména. Důrazně se také doporučuje, abyste pro záznam MX používali názvy hostitelů, nikoli holé IP adresy.
Váš správce DNS může vyžadovat, abyste zadali preferenční hodnotu (neboli hodnotu priority). Může to být libovolné číslo mezi 0 a 65 356. Malé číslo má vyšší prioritu než velké číslo. Doporučuje se nastavit hodnotu na 0, takže tento poštovní server bude mít nejvyšší prioritu pro příjem e-mailů. Po vytvoření MX záznamu je také potřeba vytvořit záznam A pro mail.your-domain.com
, aby mohl být přeložen na IP adresu. Pokud váš server používá adresu IPv6, nezapomeňte přidat záznam AAAA.
Tip:Pokud používáte službu Cloudflare DNS, neměli byste při vytváření záznamu A pro mail.your-domain.com
povolit funkci CDN . Cloudflare nepodporuje SMTP proxy.
Krok 3:Konfigurace názvu hostitele
Přihlaste se k serveru přes SSH a poté spusťte následující příkaz pro aktualizaci stávajících softwarových balíčků.
sudo apt updatesudo apt upgrade -y
Během procesu upgradu vám může položit následující otázku. Pokud chcete pro SSH nadále používat port 6543, vyberte keep the local version currently installed
. Pokud chcete pro SSH použít port 22, vyberte install the package maintainer's version
.
Důrazně doporučuji vytvořit sudo
pro správu vašeho serveru namísto použití výchozího root
uživatel. Spuštěním následujícího příkazu vytvořte uživatele. Nahraďte username
s vaším preferovaným uživatelským jménem.
uživatelské jméno adduser
Poté přidejte uživatele do sudo
skupina.
aduser uživatelské jméno sudo
Přepněte na nového uživatele.
su - uživatelské jméno
Dále nastavte plně kvalifikovaný název domény (FQDN) pro váš server pomocí následujícího příkazu.
sudo hostnamectl set-hostname mail.vase-domena.com
Potřebujeme také aktualizovat /etc/hosts
pomocí textového editoru příkazového řádku, jako je Nano.
sudo nano /etc/hosts
Upravte to jako níže. (K pohybu kurzoru v souboru použijte klávesy se šipkami.)
127.0.0.1 mail.vase-domena.com localhost
Uložte a zavřete soubor. (Chcete-li uložit soubor v textovém editoru Nano, stiskněte Ctrl+O
a poté stiskněte Enter
potvrdit. Chcete-li soubor zavřít, stiskněte Ctrl+X
.)
Chcete-li vidět změny, znovu se přihlaste a poté spusťte následující příkaz, abyste viděli název hostitele.
název hostitele -f
Krok 4:Nastavení poštovního serveru na Ubuntu 20.04 pomocí iRedMail
Spusťte následující příkazy a stáhněte si nejnovější verzi instalačního programu skriptů iRedMail z jeho úložiště Github.
wget https://github.com/iredmail/iRedMail/archive/1.5.0.tar.gz
Rozbalte archivovaný soubor.
tar xvf 1.5.0.tar.gz
Poté cd do nově vytvořeného adresáře.
cd iRedMail-1.5.0/
Přidejte oprávnění ke spustitelnosti do iRedMail.sh
skript.
chmod +x iRedMail.sh
Dále spusťte skript Bash s oprávněním sudo.
sudo bash iRedMail.sh
Zobrazí se průvodce nastavením poštovního serveru. Pomocí klávesy Tab vyberte Ano a stiskněte Enter.
Na další obrazovce budete požádáni o výběr cesty úložiště pošty. Můžete použít výchozí cestu:/var/vmail
, takže jednoduše stiskněte Enter
.
Poté zvolte, zda chcete provozovat webový server. Důrazně doporučujeme, abyste se rozhodli spustit webový server, protože k přidávání e-mailových účtů potřebujete webový administrátorský panel. Také vám umožňuje přístup k webové poště Roundcube. Ve výchozím nastavení je vybrán webový server Nginx, takže stačí stisknout Enter
. (Hvězdička označuje, že je položka vybrána.)
Poté vyberte backend úložiště pro e-mailové účty. Vyberte si takový, který znáte. Tento tutoriál si vybral MariaDB. Stiskněte šipku nahoru a dolů a stisknutím mezerníku vyberte.
Pokud jste vybrali MariaDB nebo MySQL, budete muset nastavit kořenové heslo MySQL.
Dále zadejte svou první poštovní doménu. Další poštovní domény můžete přidat později na panelu webového administrátora. Tento výukový program předpokládá, že chcete mít e-mailový účet jako [email protected] . V takovém případě musíte zadat vaše-doména.com zde, bez subdomény. Netiskněte mezerník za názvem vaší domény. Myslím, že iRedMail zkopíruje znak mezery spolu s názvem vaší domény, což může vést k selhání instalace.
Dále nastavte heslo pro správce poštovní domény.
Vyberte volitelné součásti. Ve výchozím nastavení jsou vybrány 4 položky. Pokud chcete používat groupware SOGo (webmail, kalendář, adresář, ActiveSync), vyberte stisknutím šipky dolů a mezerníku. Stiskněte Enter
na další obrazovku.
Nyní můžete zkontrolovat své konfigurace. Zadejte Y
zahájíte instalaci všech komponent poštovního serveru.
Na konci instalace zvolte y
použít pravidla brány firewall poskytovaná službou iRedMail a restartovat bránu firewall.
Nyní je instalace iRedMail dokončena. Budete upozorněni na adresu URL webové pošty, panel webového administrátora a přihlašovací údaje. iRedMail.tips
obsahuje důležité informace o vašem serveru iRedMail.
Restartujte svůj server Ubuntu 20.04.
sudo shutdown -r now
Jakmile bude váš server opět online, můžete navštívit panel webového administrátora.
https://mail.vase-domena.com/iredadmin/
Poznámka že na výše uvedené adrese URL je podadresář pro přístup k panelu správce /iredadmin/
, nikoli /iredmail/
. A protože používá certifikát TLS s vlastním podpisem, musíte do webového prohlížeče přidat výjimku zabezpečení.
Krok 5:Instalace certifikátu Let’s Encrypt TLS
Vzhledem k tomu, že poštovní server používá certifikát TLS podepsaný svým držitelem, zobrazí se varování uživatelům poštovního klienta na počítači i uživatelům webového klienta. Abychom to napravili, můžeme získat a nainstalovat bezplatný certifikát Let’s Encrypt TLS.
Získání certifikátu
Nejprve se znovu přihlaste ke svému serveru přes SSH a spusťte následující příkaz k instalaci klienta Let’s Encrypt (certbot) na Ubuntu 20.04.
sudo apt install certbot
iRedMail již nakonfiguroval nastavení TLS ve výchozím virtuálním hostiteli Nginx, takže zde doporučuji k získání certifikátu místo pluginu nginx použít plugin webroot. Spusťte následující příkaz. Nahraďte červený text svými skutečnými údaji.
sudo certbot certonly --webroot --agree-tos --email [e-mail chráněný] -d mail.vaše-doména.com -w /var/www/html/
Když se vás zeptá, zda chcete přijímat zprávy z EFF, můžete zvolit Ne.
Pokud vše proběhlo v pořádku, zobrazí se následující text označující, že jste úspěšně získali certifikát TLS. Váš certifikát a řetězec byly uloženy na /etc/letsencrypt/live/mail.your-domain.com/
adresář.
Nepodařilo se získat certifikát TLS
Pokud se certbotu nepodařilo získat certifikát TLS, možná je to proto, že vaše záznamy DNS nejsou šířeny na internetu. V závislosti na používaném registrátorovi domény může být váš záznam DNS šířen okamžitě nebo může jeho šíření trvat až 24 hodin. Můžete přejít na https://dnsmap.io, zadat název hostitele vašeho poštovního serveru (mail.your-domain.com
) pro kontrolu šíření DNS.
Pokud se certbotu nepodařilo získat certifikát a zobrazila se vám následující zpráva,
Procedura autorizace se nezdařila. mail.linuxbabe.com (http-01):urn:ietf:params:acme:error:connection ::Server se nemohl připojit ke klientovi za účelem ověření domény ::Načítání https://mail.linuxbabe.com/. well-known/acme-challenge/IZ7hMmRE4ZlGW7cXYoq2Lc_VrFzVFyfW6E0pzNlhiOA:Časový limit během připojení (pravděpodobný problém s firewallem)
Je možné, že jste nastavili záznam AAAA pro mail.your-domain.com
, ale webový server Nginx nenaslouchá na adrese IPv6. Chcete-li tuto chybu opravit, upravte /etc/nginx/sites-enabled/00-default.conf
soubor
sudo nano /etc/nginx/sites-enabled/00-default.conf
Najděte následující řádek.
#poslouchejte [::]:80;
Odstraňte #
znak pro povolení IPv6 pro tohoto virtuálního hostitele Nginx.
poslouchejte [::]:80;
Uložte a zavřete soubor. Poté upravte virtuálního hostitele SSL /etc/nginx/sites-enabled/00-default-ssl.conf
.
sudo nano /etc/nginx/sites-enabled/00-default-ssl.conf
Přidejte následující řádek.
poslouchejte [::]:443 ssl http2;
Uložte a zavřete soubor. Poté otestujte konfiguraci Nginx.
sudo nginx -t
Pokud je test úspěšný, znovu načtěte Nginx, aby se změna projevila.
sudo systemctl reload nginx
Spusťte znovu následující příkaz, abyste získali certifikát TLS. Nahraďte červený text svými skutečnými daty.
sudo certbot certonly --webroot --agree-tos --email [e-mail chráněný] -d mail.vaše-doména.com -w /var/www/html/
Nyní byste měli být schopni úspěšně získat certifikát TLS.
Instalace certifikátu v Nginx
Po získání certifikátu TLS nakonfigurujte webový server Nginx, aby jej používal. Upravte soubor šablony SSL.
sudo nano /etc/nginx/templates/ssl.tmpl
Najděte následující 2 řádky.
ssl_certificate /etc/ssl/certs/iRedMail.crt;ssl_certificate_key /etc/ssl/private/iRedMail.key;
Nahraďte je slovy:
ssl_certificate /etc/letsencrypt/live/mail.your-domain.com/fullchain.pem;ssl_certificate_key /etc/letsencrypt/live/mail.your-domain.com/privkey.pem;
Uložte a zavřete soubor. Poté otestujte konfiguraci nginx a znovu načtěte.
sudo nginx -tsudo systemctl znovu načíst nginx
Navštivte znovu administrátorský panel iRedMail, váš webový prohlížeč vás již nebude upozorňovat, protože Nginx nyní používá platný certifikát TLS.
Instalace certifikátu TLS v Postfixu a Dovecotu
Potřebujeme také nakonfigurovat Postfix SMTP server a Dovecot IMAP server tak, aby používal vydaný certifikát Let’s Encrypt, aby poštovní klient na stolním počítači nezobrazoval bezpečnostní varování. Upravte hlavní konfigurační soubor Postfixu.
sudo nano /etc/postfix/main.cf
Najděte následující 3 řádky. (řádek 95, 96, 97).
smtpd_tls_key_file =/etc/ssl/private/iRedMail.keysmtpd_tls_cert_file =/etc/ssl/certs/iRedMail.crtsmtpd_tls_CAfile =/etc/ssl/Mailts.crt>Nahraďte je slovy:
smtpd_tls_key_file =/etc/letsencrypt/live/mail.your-domain.com/privkey.pemsmtpd_tls_cert_file =/etc/letsencrypt/live/mail.your-domain.com/cert.pemsmtpd_tls_CAfile/let mail.vase-domena.com/chain.pemUložte a zavřete soubor. Poté znovu načtěte Postfix.
sudo systemctl reload postfixDále upravte hlavní konfigurační soubor Dovecot.
sudo nano /etc/dovecot/dovecot.confUpravte následující 2 řádky. (řádek 47, 48)
ssl_cert =Nahraďte je slovy:
ssl_cert =Uložte a zavřete soubor. Potom znovu načtěte holubník.
sudo systemctl reload dovecotOd této chvíle nebudou uživatelé pošty na počítači vidět bezpečnostní varování.
Krok 6:Odeslání zkušebního e-mailu
Přihlaste se do panelu iredadmin pomocí poštovního účtu postmaster ([email protected]). V
Add
můžete přidat další domény nebo e-mailové adresy.Pokud se zobrazí chyba „žádná doména není pod kontrolou“, přečtěte si tento článek.
Po vytvoření uživatele můžete navštívit webovou e-mailovou adresu Roundcube a přihlásit se pomocí nového poštovního uživatelského účtu.
https://mail.vase-domena.com/mail/
Nyní můžete otestovat odesílání a přijímání e-mailů. Vezměte prosím na vědomí, že možná budete muset počkat několik minut, než obdržíte e-maily, protože iRedMail ve výchozím nastavení umožňuje greylisting, což je způsob, jak sdělit ostatním odesílajícím serverům SMTP, aby to zkusili znovu za několik minut. Následující řádek v souboru protokolu pošty
/var/log/mail.log
označuje, že je povolen greylisting.Adresa příjemce zamítnuta:Úmyslné odmítnutí zásad, zkuste to prosím znovu později;Přidání odkládacího prostoru
ClamAV se používá ke skenování virů v e-mailových zprávách. ClamAV může využívat značné množství paměti RAM. Pokud na vašem serveru není dostatek paměti RAM, ClamAV nebude fungovat správně, což zabrání vašemu poštovnímu serveru v odesílání e-mailů. Můžete přidat odkládací soubor na váš server, abyste zvýšili celkovou RAM na vašem serveru. (Všimněte si, že použití odkládacího prostoru na serveru sníží výkon serveru. Pokud chcete lepší výkon, měli byste místo použití odkládacího prostoru upgradovat fyzickou RAM.)
Chcete-li přidat odkládací prostor na serveru, nejprve použijte
fallocate
příkaz k vytvoření souboru. Například vytvořte soubor s názvem swapfile s kapacitou 1G v kořenovém systému souborů:sudo fallocate -l 1G /swapfilePak se ujistěte, že do něj může číst a zapisovat pouze root.
sudo chmod 600 /swapfileNaformátujte jej pro výměnu:
sudo mkswap /swapfileVýstup:
Nastavení swapspace verze 1, velikost =1024 MiB (1073737728 bajtů)bez štítku, UUID=0aab5886-4dfb-40d4-920d-fb1115c67433Povolit odkládací soubor
sudo swapon /swapfileChcete-li připojit odkládací prostor při spouštění systému, upravte
/etc/fstab
soubor.sudo nano /etc/fstabPřidejte následující řádek na konec tohoto souboru.
/swapfile swap swap výchozí 0 0Uložte a zavřete soubor. Poté znovu načtěte systemd a restartujte ClamAV.
sudo systemctl daemon-reloadsudo systemctl restart clamav-daemonKrok 7:Kontrola, zda je blokován port 25 (odchozí)
Váš ISP nebo poskytovatel hostingu nebude blokovat příchozí připojení k portu 25 vašeho serveru, což znamená, že můžete přijímat e-maily z jiných poštovních serverů. Mnoho ISP/poskytovatelů hostingu však blokuje odchozí připojení k portu 25 jiných poštovních serverů, což znamená, že nemůžete odesílat e-maily.
Pokud váš e-mail nedorazil na vaši jinou e-mailovou adresu, jako je Gmail, spusťte na svém poštovním serveru následující příkaz a zkontrolujte, zda není blokován port 25 (odchozí).
telnet gmail-smtp-in.l.google.com 25Pokud není blokován, uvidíte zprávy jako níže, což znamená, že připojení bylo úspěšně navázáno. (Tip:Zadejte
quit
a stiskněte Enter pro ukončení připojení.)Pokouším se 74.125.68.26...Připojeno k gmail-smtp-in.l.google.com.Escape znak je '^]'.220 mx.google.com ESMTP y22si1641751pll.208 - gsmtpPokud je port 25 (odchozí) blokován, uvidíte něco jako:
Pokouším se 2607:f8b0:400e:c06::1a...Pokouším se 74.125.195.27...telnet:Nelze se připojit ke vzdálenému hostiteli:Časový limit připojení vypršelV tomto případě váš Postfix nemůže odesílat e-maily na jiné servery SMTP. Požádejte svého ISP/poskytovatele hostingu, aby vám ji otevřel. Pokud vaši žádost odmítnou, musíte nastavit přenos SMTP tak, aby obešel blokování portu 25.
Stále nemůžete odeslat e-mail?
Pokud port 25 (odchozí) není blokován, ale stále nemůžete odesílat e-maily ze svého vlastního poštovního serveru na svou jinou e-mailovou adresu, jako je Gmail, měli byste zkontrolovat protokol pošty (
/var/log/mail.log
).sudo nano /var/log/mail.logNěkterým lidem se v souboru mohou zobrazit například následující řádky.
hostitel gmail-smtp-in.l.google.com[2404:6800:4003:c03::1b] řekl:550-5.7.1 [2a0d:7c40:3000:b8b::2] Náš systém zjistil, že 550-5.7.1 tato zpráva nesplňuje pokyny pro odesílání IPv6 týkající se záznamů a ověřování PTR 550-5.7.1 . Další informace naleznete na adrese 550-5.7.1 https://support.google.com/mail/?p=IPv6AuthErrorTo znamená, že váš poštovní server používá k odeslání e-mailu IPv6, ale nenastavili jste záznamy IPv6. Měli byste jít do správce DNS a nastavit
AAAA
záznam promail.your-domain.com
, pak byste měli nastavitPTR
záznam pro vaši IPv6 adresu, která je popsána v kroku 9.Krok 8:Používání poštovních klientů na vašem počítači nebo mobilním zařízení
Spusťte svého desktopového e-mailového klienta, jako je Mozilla Thunderbird, a přidejte poštovní účet.
- V části server příchozí pošty vyberte protokol IMAP, zadejte
mail.your-domain.com
jako název serveru zvolte port 143 a STARTTLS. Zvoltenormal password
jako metoda ověřování. - V odchozí části vyberte protokol SMTP, zadejte
mail.your-domain.com
jako název serveru zvolte port 587 a STARTTLS. Zvoltenormal password
jako metoda ověřování.
Fail2ban blokování vaší vlastní IP adresy
Pokud jste udělali chybu a vícekrát se vám nepodařilo přihlásit k poštovnímu serveru, může služba Fail2ban na poštovním serveru zablokovat vaši IP adresu. Svou IP adresu můžete přidat na bílou listinu úpravou jail.local
soubor.
sudo nano /etc/fail2ban/jail.local
Přidejte svou vlastní IP adresu do seznamu ignorovaných, jak je uvedeno níže. Nahraďte 12.34.56.78 svou skutečnou IP adresou.
ignoreip =12.34.56.78 127.0.0.1 127.0.0.0/8 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16
Uložte a zavřete soubor. Poté restartujte Fail2ban.
sudo systemctl restart fail2ban
Krok 9:Zlepšení doručování e-mailů
Chcete-li zabránit tomu, aby byly vaše e-maily označeny jako spam, měli byste nastavit PTR
, SPF
, DKIM
a DMARC
záznamy.
Záznam PTR
Záznam ukazatele nebo záznam PTR mapuje IP adresu na FQDN (plně kvalifikovaný název domény). Je to protějšek k záznamu A a používá se pro reverzní DNS vyhledávání, které může pomoci s blokováním spammerů. Mnoho serverů SMTP odmítá e-maily, pokud není pro odesílající server nalezen záznam PTR.
Chcete-li zkontrolovat IP adresu v záznamu PTR, spusťte tento příkaz:
dig -x IP-adresa +krátká
nebo
IP-adresa hostitele
Záznam PTR nespravuje váš registrátor domény. Je spravován organizací, která vám poskytne IP adresu. Protože IP adresu získáváte od svého poskytovatele hostingu nebo ISP, nikoli od registrátora domény, musíte pro svou IP adresu nastavit záznam PTR v ovládacím panelu poskytovatele hostingu nebo se zeptat svého poskytovatele internetových služeb . Jeho hodnota by měla být název hostitele vašeho poštovního serveru:mail.your-domain.com
. Pokud váš server používá adresu IPv6, nezapomeňte pro svou adresu IPv6 přidat také záznam PTR .
Chcete-li upravit reverzní záznam DNS pro váš Kamatera VPS, přihlaste se do klientské oblasti Kamatera, otevřete lístek podpory a řekněte jim, aby přidali záznam PTR pro IP adresy vašeho serveru, aby IP adresa nasměrovala na mail.your-domain.com
. Možná si myslíte, že to není pohodlné, ale je to proto, aby se spammery nedostaly k platformě, takže legitimní odesílatelé e-mailů, jako jsme my, budou mít skvělou IP pověst.
Záznam SPF
SPF Záznam (Sender Policy Framework) určuje, kteří hostitelé nebo IP adresy mohou odesílat e-maily jménem domény. Měli byste povolit odesílání e-mailů pro vaši doménu pouze vašemu vlastnímu e-mailovému serveru nebo serveru vašeho ISP. V rozhraní správy DNS vytvořte nový záznam TXT, jak je uvedeno níže.
Vysvětlení:
- TXT označuje, že se jedná o záznam TXT.
- Zadejte @ v poli názvu, které bude představovat hlavní název domény.
- v=spf1 označuje, že se jedná o záznam SPF a verze je SPF1.
- mx znamená, že všichni hostitelé uvedení v záznamech MX mohou odesílat e-maily pro vaši doménu a všichni ostatní hostitelé jsou zakázáni.
- ~vše označuje, že e-maily z vaší domény by měly pocházet pouze z hostitelů uvedených v záznamu SPF. E-maily od jiných hostitelů budou označeny jako podvržené.
Chcete-li zkontrolovat, zda je váš záznam SPF šířen na veřejný internet, můžete na svém počítači se systémem Linux použít nástroj dig:
dig your-domain.com txt
Soubor txt
volba říká dig
že chceme dotazovat pouze TXT záznamy.
Záznam DKIM
DKIM (DomainKeys Identified Mail) používá soukromý klíč k digitálnímu podepisování e-mailů odeslaných z vaší domény. Přijímající servery SMTP ověřují podpis pomocí veřejného klíče, který je zveřejněn v záznamu DNS DKIM.
Skript iRedMail automaticky nakonfiguroval DKIM pro váš server. Jediné, co zbývá udělat, je vytvořit DKIM záznam ve správci DNS. Spusťte následující příkaz a zobrazte veřejný klíč DKIM.
sudo amavisd-new showkeys
Veřejný klíč DKIM je v závorkách.
Poté ve správci DNS vytvořte záznam TXT, zadejte dkim._domainkey
v poli jména. Zkopírujte vše v závorkách a vložte do pole hodnoty. Smažte všechny dvojité uvozovky a konce řádků.
Po uložení změn spusťte následující příkaz a otestujte, zda je váš záznam DKIM správný.
sudo amavisd-new testkeys
Pokud je záznam DKIM správný, test projde.
TESTOVÁNÍ#1 linuxbabe.com:dkim._domainkey.linuxbabe.com => projít
Všimněte si, že váš záznam DKIM může nějakou dobu potřebovat, aby se rozšířil na internet. V závislosti na používaném registrátorovi domény může být váš záznam DNS šířen okamžitě nebo může jeho šíření trvat až 24 hodin. Můžete přejít na https://www.dmarcanalyzer.com/dkim/dkim-check/, zadat dkim
jako selektor a zadejte název své domény pro kontrolu šíření záznamu DKIM.
Záznam DMARC
DMARC je zkratka pro Domain-based Message Authentication, Reporting and Conformance. DMARC může pomoci přijímat e-mailové servery k identifikaci legitimních e-mailů a zabránit použití názvu vaší domény e-mailovým spoofingem.
Chcete-li vytvořit záznam DMARC, přejděte do správce DNS a přidejte TXT záznam. Do pole názvu zadejte _dmarc
. Do pole hodnoty zadejte následující. (Měli byste vytvořit [email protected]
e-mailovou adresu.)
v=DMARC1; p=žádný; pct=100; rua=mailto:[e-mail chráněn]
Výše uvedený záznam DMARC je bezpečným výchozím bodem. Pokud si chcete přečíst úplné vysvětlení DMARC, podívejte se prosím na následující článek. Toto je volitelné.
- Vytvoření záznamu DMARC pro ochranu názvu vaší domény před podvodným e-mailem
Krok 10:Testování skóre e-mailu a umístění
Po vytvoření záznamu PTR, SPF, DKIM přejděte na https://www.mail-tester.com . Zobrazí se vám jedinečná e-mailová adresa. Pošlete e-mail ze své domény na tuto adresu a poté zkontrolujte své skóre. Jak vidíte, mám perfektní skóre. Ve výsledku testu byste měli zkontrolovat, zda je váš záznam PTR, SPF a DKIM platný.
Mail-tester.com vám může zobrazit pouze skóre odesílatele. Existuje další služba nazvaná GlockApps, která vám umožňuje zkontrolovat, zda váš e-mail dorazil do doručené pošty příjemce nebo složky se spamem, nebo byl rovnou zamítnut. Podporuje mnoho oblíbených poskytovatelů e-mailu, jako je Gmail, Outlook, Hotmail, YahooMail, iCloud mail atd.
Co když jsou vaše e-maily stále označeny jako spam?
V tomto článku pro vás mám další tipy:Jak zabránit tomu, aby byly vaše e-maily označeny jako spam. I když to bude trvat nějaký čas a úsilí, vaše e-maily budou po použití těchto tipů nakonec umístěny do doručené pošty.
Co když váš e-mail odmítne poštovní schránka společnosti Microsoft?
Zdá se, že Microsoft používá interní černou listinu, která blokuje mnoho legitimních IP adres. Pokud jsou vaše e-maily odmítnuty aplikací Outlook nebo Hotmail, musíte odeslat formulář s informacemi o odesílateli. Poté bude váš e-mail přijat aplikací Outlook/Hotmail.
Přidání více poštovních domén
Tento článek jsem napsal, abych vám ukázal, jak přidat více poštovních domén do iRedMail.
Jak deaktivovat Greylisting
Ve výchozím nastavení má iRedMail povolen greylisting, který říká ostatním odesílajícím serverům SMTP, aby to zkusili znovu za několik minut. To je užitečné hlavně pro blokování spamu, ale také to zhoršuje uživatelský dojem. Pokud dáváte přednost deaktivaci greylistingu, postupujte podle pokynů níže.
Přidejte oprávnění k zápisu do /opt/iredapd/settings.py
soubor.
sudo chmod 600 /opt/iredapd/settings.py
Poté upravte konfigurační soubor.
sudo nano /opt/iredapd/settings.py
Najděte následující řádek.
pluginy =["reject_null_sender", "wblist_rdns", "reject_sender_login_mismatch", "greylisting", "throttle", "amavisd_wblist", "sql_alias_access_policy"]
Odstraňte "greylisting"
ze seznamu. Uložte a zavřete soubor. Poté restartujte iredapd.
sudo systemctl restart iredapd
Změňte konfigurační soubor zpět do režimu pouze pro čtení.
sudo chmod 400 /opt/iredapd/settings.py
Povolení portu SMTPS 465
Pokud se chystáte používat klienta Microsoft Outlook, musíte na serveru Postfix SMTP povolit port SMTPS 465.
Odstraňování problémů
Nejprve použijte VPS s alespoň 4 GB RAM. Spuštění iRedMail na 1GB RAM VPS způsobí, že databáze, SpamAssassin nebo ClamAV budou zabity kvůli problému s nedostatkem paměti. Pokud opravdu chcete používat 1GB RAM VPS, ztratíte příchozí e-maily a budete mít další nežádoucí výsledky.
Pokud webové rozhraní iRedMail není přístupné, například chyba brány 502, měli byste zkontrolovat protokoly Nginx v /var/log/nginx/
adresář najít stopy. Můžete také zkontrolovat protokol pošty /var/log/mail.log
.
Zkontrolujte, zda jsou spuštěny různé služby.
stav systemctl postfixsystemctl stav dovecotsystemctl stav nginxsystemctl stav mariadbsystemctl stav clamav-daemonsystemctl stav amavis
Pokud jste povolili bránu firewall, měli byste v ní otevřít následující porty.
Port HTTP:80Port HTTPS:443Port SMTP:25Port pro odeslání:587 (a 465, pokud budete používat poštovního klienta Microsoft Outlook)Port IMAP:143 a 993
Pokud byste chtěli používat UFW firewall, podívejte se do mého průvodce zde:Začínáme s UFW firewallem na Debianu a Ubuntu.
Jak obnovit certifikát TLS
Vydaný certifikát TLS Let’s Encrypt je platný pouze 90 dní a je důležité, abyste si nastavili úlohu Cron pro automatické obnovení certifikátu. Pro obnovení certifikátu můžete spustit následující příkaz.
sudo certbot renew -w /var/www/html/
Můžete použít --dry-run
možnost otestovat proces obnovení namísto skutečného obnovení.
sudo certbot renew -w /var/www/html/ --dry-run
Pokud se při obnovování certifikátu TLS zobrazí následující chyba.
Klient nemá dostatečné oprávnění ::Neplatná odpověď
Poté musíte vytvořit skrytý adresář.
sudo mkdir -p /var/www/html/.well-known/acme-challenge
A nastavte www-data
jako vlastník webového kořenového adresáře.
sudo chown www-data:www-data /var/www/html/ -R
Upravte také virtuálního hostitele SSL /etc/nginx/sites-enabled/00-default-ssl.conf
. Přidejte následující řádky.
umístění ~ /.well-known/acme-challenge { root /var/www/html/; povolit vše;}
Uložte a zavřete soubor. Otestujte konfiguraci Nginx a znovu načtěte.
sudo nginx -tsudo systemctl znovu načíst nginx
Vytvořit úlohu Cron
Pokud je nyní suchý běh úspěšný, můžete vytvořit úlohu Cron pro automatické obnovení certifikátu. Jednoduše otevřete soubor crontab uživatele root.
sudo crontab -e
Poté přidejte následující řádek na konec souboru.
@daily certbot renew -w /var/www/html/ --quiet &&systemctl reload postfix dovecot nginx
Je nutné znovu načíst Postfix, Dovecot a Nginx, aby tyto programy vyzvedly nový certifikát a soukromý klíč.
Nastavení záložního poštovního serveru
Váš primární poštovní server může být někdy mimo provoz. Pokud hostujete svůj poštovní server v datovém centru, pak jsou výpadky velmi minimální, takže byste se neměli obávat ztráty příchozích e-mailů. Pokud hostujete svůj poštovní server doma, nelze výpadek předvídat, takže je dobrým zvykem provozovat záložní poštovní server v datovém centru, abyste zabránili ztrátě příchozích e-mailů. Záložní poštovní server potřebuje ke svému běhu pouhých 512 MB RAM. Podívejte se prosím na všechny podrobnosti v následujícím článku.
- Jak nastavit záložní e-mailový server s Postfixem na Ubuntu (kompletní průvodce)
Pro pokročilé uživatele
iRedMail nezahrnuje ověřovací službu DMARC, můžete se podívat na následující výukový program, jak nastavit OpenDMARC pro blokování e-mailového spoofingu.
- Nastavit OpenDMARC s Postfixem na Ubuntu pro blokování e-mailového spoofingu/spamu
Možná budete chtít přizpůsobit filtr obsahu SpamAssassin, aby lépe detekoval spam.
- Blokovat e-mailový spam kontrolou záhlaví a těla v Postfixu/SpamAssassinu
Pokud vaše webové stránky a poštovní server běží na dvou různých VPS (virtuálním privátním serveru), můžete nastavit přenos SMTP mezi vaším webem a poštovním serverem, aby vaše webové stránky mohly odesílat e-maily přes váš poštovní server. Viz následující článek.
- Jak nastavit přenos SMTP mezi 2 servery Postfix SMTP na Ubuntu