autor vybraného Zdarma a Open Source Fond obdrží dar jako součást Zápisu o Dary program.

Úvod

Postfix je agent pro přenos pošty (MTA), aplikace používaná k odesílání a přijímání e-mailů. Může být nakonfigurován tak, aby mohl být použit k odesílání e-mailů pouze místní aplikací., To je užitečné v situacích, kdy potřebujete pravidelně odesílat e-mailová oznámení z vašich aplikací nebo jednoduše mít hodně odchozího provozu, který poskytovatel e-mailových služeb třetí strany nedovolí. Je to také lehčí alternativa ke spuštění plnohodnotného serveru SMTP při zachování požadované funkce.

v tomto tutoriálu nainstalujete a nakonfigurujete Postfix jako SMTP server pouze pro odesílání. Budete také požadovat bezplatné certifikáty TLS od Let ‚ s Encrypt pro vaši doménu a šifrovat odchozí e-maily pomocí nich.

předpoklady

  • jeden Ubuntu 18.,04 server nastavit s počátečním nastavením serveru s Ubuntu 18.04, včetně vytvoření sudo non-root uživatele.
  • plně registrovaný název domény. Tento tutoriál bude používat your_domain v celém textu. Můžete si zakoupit název domény na Namecheap, získat jeden zdarma na Freenom, nebo použít registrátora domény dle vašeho výběru.
  • záznam DNS s your_domain ukazující na veřejnou IP adresu vašeho serveru. Můžete sledovat tento úvod do DigitalOcean DNS podrobnosti o tom, jak je přidat.,

Poznámka: Váš server hostname a Kapičky jméno se musí shodovat your_domain, protože DigitalOcean automaticky nastaví PTR záznamy pro Kapička je IP adresa podle jeho názvu.

název hostitele serveru můžete ověřit zadáním hostname na příkazovém řádku. Výstup by měl odpovídat názvu, který jste dali kapičce, když byla vytvořena.

Krok 1-Instalace Postfix

v tomto kroku nainstalujete Postfix., Nejrychlejším způsobem je instalace balíčku mailutils, který sdružuje Postfix s několika doplňkovými programy, které použijete k testování odesílání e-mailů.

za Prvé, aktualizace databáze balíčků:

  • sudo apt update

Pak, nainstalovat Postfix spuštěním následujícího příkazu:

  • sudo apt install mailutils

téměř na konci procesu instalace, budete prezentovány s Postfix konfigurační okno:

výchozí nastavení je Internet Site., To je doporučená volba pro váš případ použití, takže stiskněte TAB ENTER. Pokud vidíte pouze text popisu, stiskněte TAB pro výběr OK, pak ENTER.,

Pokud se neobjeví automaticky, spusťte následující příkaz ke spuštění:

  • sudo dpkg-reconfigure postfix

za to, že budete mít další konfigurace výzvu, pokud jde o název poštovního Systému:

Systém mail jméno musí být stejné jako jméno, které jste přidělili na váš server, když jste vytvářeli. Po dokončení stiskněte TAB, následuje ENTER.

Nyní jste nainstalovali Postfix a jste připraveni jej začít konfigurovat.,

Krok 2 — Konfigurace Postfix

V tomto kroku budete konfigurovat Postfix odesílat a přijímat e-maily pouze ze serveru, na kterém je spuštěn na to, od localhost.

aby k tomu došlo, musí být Postfix nakonfigurován tak, aby poslouchal pouze Rozhraní loopback, virtuální síťové rozhraní, které server používá k interní komunikaci. Chcete-li provést změny, budete muset upravit hlavní konfigurační soubor Postfix s názvem main.cf, uložený pod etc/postfix.,

Otevřít pro úpravy pomocí vašeho oblíbeného textového editoru:

  • sudo nano /etc/postfix/main.cf

Najděte následující řádky:

/etc/postfix/main.cf
. . .mailbox_size_limit = 0recipient_delimiter = +inet_interfaces = all. . .

Nastavte hodnotu inet_interfaces nastavení loopback-only:

/etc/postfix/main.cf
. . .mailbox_size_limit = 0recipient_delimiter = +inet_interfaces = loopback-only. . .

Další směrnice, kterou je třeba upravit, je mydestination, který se používá k zadání seznamu domén, které jsou dodávány prostřednictvím local_transport doručování pošty dopravy., Ve výchozím nastavení jsou hodnoty podobné těmto:

/etc/postfix/main.cf
. . .mydestination = $myhostname, your_domain, localhost.com, , localhost. . .

Změňte řádek vypadat takhle:

/etc/postfix/main.cf
. . .mydestination = localhost.$mydomain, localhost, $myhostname. . .

Pokud vaše doména je vlastně subdomény a chcete e-mailové zprávy vypadat, jako by byly odeslány z hlavní domény, můžete přidat následující řádku na konec main.cf:

/etc/postfix/main.,cf
...masquerade_domains = your_main_domain

volitelné masquerade_domains nastavení určuje, pro které domény na subdoménu, část bude svlékl na e-mailovou adresu.

po dokončení uložte a zavřete soubor.

Poznámka: pokud hostujete více domén na jednom serveru, mohou být Ostatní domény předány také do Postfixu pomocí směrnice mydestination.

restartujte Postfix spuštěním následujícího příkazu:

  • sudo systemctl restart postfix

Jste nakonfigurovali Postfix pouze odesílat e-maily z vašeho serveru., Nyní to otestujete zasláním příkladové zprávy na e-mailovou adresu.

3. Krok — Testování SMTP Serveru

V tomto kroku, budete vyzkoušet, zda Postfix můžete posílat e-maily na externí e-mailový účet pomocí mail příkaz, který je součástí mailutils balíček, který jste nainstalovali v prvním kroku.

odeslat zkušební e-mail, spusťte následující příkaz:

  • echo "This is the body of the email" | mail -s "This is the subject line" your_email_address

můžete změnit tělo a předmět e-mailu podle vašich představ., Nezapomeňte nahradit your_email_address platnou e-mailovou adresou, ke které máte přístup.

Nyní zkontrolujte e-mailovou adresu, na kterou jste tuto zprávu odeslali. Měli byste vidět zprávu ve vaší doručené poště. Pokud tam není, zkontrolujte složku spam. V tomto okamžiku jsou všechny e-maily, které odesíláte, nešifrované, což způsobuje, že poskytovatelé služeb si myslí, že je to pravděpodobně spam. Šifrování nastavíte později, v kroku 5.,

Pokud se zobrazí chybová z mail příkaz, nebo jste neobdrželi zprávu po delší dobu, zkontrolujte, zda Postfix, konfigurace upravovat je platná, a že váš název serveru a název hostitele jsou nastaveny na vaší doméně.

Všimněte si, že s touto konfigurací, adresa v From pole pro zkoušky e-maily obdržíte, bude ve formě your_user_name@your_domain, kde your_user_name je uživatelské jméno uživatele serveru jste spustili příkaz jako.,

nyní jste odeslali e-mail ze serveru a ověřili, že byl úspěšně přijat. V dalším kroku nastavíte přesměrování e-mailů pro root.

4. Krok — Předání Systému Mail

V tomto kroku, budete nastavit přeposílání e-mailů pro uživatele root, tak, že systém generované zprávy odeslané na váš server si předají externí e-mailovou adresu.

soubor/etc/aliases obsahuje seznam alternativních jmen pro příjemce e-mailu., Otevřít pro úpravy:

  • sudo nano /etc/aliases

Ve výchozím stavu, to vypadá takto:

/etc/aliases
# See man 5 aliases for formatpostmaster: root

pouze současné směrnice stanoví, že systém generované e-maily jsou odesílány do root.

Přidejte následující řádek na konec souboru:

/etc/aliases
...root: your_email_address

tento řádek, můžete zadat, které e-maily poslal do root nakonec být předány e-mailovou adresu. Nezapomeňte nahradit your_email_address svou osobní e-mailovou adresou., Až budete hotovi, uložte a zavřete soubor.

změna se projeví, spusťte následující příkaz:

  • sudo newaliases

Běh newaliases bude vybudovat databázi aliasů, že mail příkaz používá, které jsou převzaty z konfiguračního souboru, kterou jste právě upravili.

Otestujte si, že odesílání e-mailů na root funguje, spuštěním:

  • echo "This is the body of the email" | mail -s "This is the subject line" root

Byste měli obdržet e-mail na vaši e-mailovou adresu. Pokud tam není, zkontrolujte složku spam.,

v tomto kroku jste nastavili přeposílání zpráv generovaných systémem na vaši e-mailovou adresu. Nyní povolíte šifrování zpráv, takže všechny e-maily, které váš server odešle, jsou imunní vůči manipulaci v tranzitu a budou považovány za legitimnější.

Krok 5 — Povolení SMTP Šifrování

Budete nyní povolit SMTP šifrování požadovat zdarma TLS certifikát z let ‚ s Encrypt pro vaši doménu (pomocí Certbot) a konfigurace Postfixu, aby jej použít při odesílání zprávy.

Ubuntu obsahuje Certbot ve výchozím úložišti balíčků, ale může se stát, že je zastaralý., Místo toho přidáte oficiální úložiště spuštěním následujícího příkazu:

  • sudo add-apt-repository ppa:certbot/certbot

stiskněte ENTER po výzvě k přijetí. Pak, aktualizace serveru balíčku správce cache:

  • sudo apt update

a Konečně, nainstalujte nejnovější verzi Certbot:

  • sudo apt install certbot -y

Jako součást počáteční instalace serveru na požadavky, které jste nainstalovali ufw, nekomplikované firewall. Budete jej muset nakonfigurovat tak, aby umožnil Port HTTP 80, aby bylo možné ověření domény dokončit., Spusťte následující příkaz povolit je:

  • sudo ufw allow 80

výstup bude vypadat takto:

Output
Rule addedRule added (v6)

Nyní, že port je otevřený, spusťte Certbot získat osvědčení:

  • sudo certbot certonly --standalone --rsa-key-size 4096 --agree-tos --preferred-challenges http -d your_domain

Tento příkaz příkazy Certbot vydávat osvědčení s klíč RSA o velikosti 4096 bitů, spustit dočasné samostatný web server (--standalone) pro ověření, a zkontrolujte, zda přes port 80 (--preferred-challenges http)., Nezapomeňte před spuštěním příkazu nahradityour_domain doménou a po zobrazení výzvy zadejte svou e-mailovou adresu.

výstup bude podobný tomuto:

Output
Saving debug log to /var/log/letsencrypt/letsencrypt.logPlugins selected: Authenticator standalone, Installer NoneObtaining a new certificatePerforming the following challenges:http-01 challenge for `your_domain`Waiting for verification...Cleaning up challengesIMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/your_domain/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/your_domain/privkey.pem Your cert will expire on 2020-07-11. To obtain a new or tweaked version of this certificate in the future, simply run certbot again. To non-interactively renew *all* of your certificates, run "certbot renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le

Jak je psáno v poznámkách, certifikát a soukromý klíč souboru byly uloženy pod /etc/letsencrypt/live/your_domain.

Nyní, když máte váš certifikát, otevřete main.cf pro editaci:

  • sudo nano /etc/postfix/main.cf

Najdete v následující části:

/etc/postfix/main.,cf

Upravit, aby to vypadalo jako to, nahrazení your_domain s vaší domény, kde je to nutné, který bude aktualizovat své TLS nastavení pro Postfix:

/etc/postfix/main.cf

Jakmile budete hotovi, uložte a zavřete soubor.

Použít změny po restartu Postfixu:

  • sudo systemctl restart postfix

Teď, pokuste se odeslat e-mail znovu:

  • echo "This is the body of an encrypted email" | mail -s "This is the subject line" your_email_address

zkontrolujte e-mailovou adresu, kterou jste zadali. Je možné, že zprávu ve vaší doručené poště uvidíte okamžitě, protože poskytovatelé e-mailů mnohem častěji označují nešifrované zprávy jako spam.,

můžete zkontrolovat technické informace o e-mailové zprávy v klientovi vidět, že zpráva je opravdu šifrována.

závěr

nyní máte e-mailový server pouze pro odesílání, poháněný postfixem. Šifrování všech odchozích zpráv je dobrým prvním krokem pro poskytovatele e-mailů, kteří neoznačují vaše zprávy jako spam. Pokud to děláte ve vývojovém scénáři, mělo by toto opatření stačit.,

Nicméně, pokud je váš případ použití, je poslat e-maily na potenciální uživatele webu (např. potvrzení e-maily a message board sign-up), měli byste se podívat do nastavení SPF záznamů, tak, aby váš server e-maily jsou ještě více pravděpodobné, že být viděn jako legitimní.

Articles

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *