nastavit SMTP Server

v blogu Nejlepší bezplatné SMTP servery jsme se dotkli cloudových řešení pro odesílání e-mailů. Ty jsou zcela běžné pro všechny velikosti projektů. Ale co když nechcete používat služby přenosu e-mailů Gmail SMTP nebo jeho alternativy? V tomto článku vás naučíme, jak nastavit místní server SMTP a zbavit se závislostí na odesílání e-mailů.

opravdu potřebujete SMTP server?

použití odchozího SMTP serveru je tradiční způsob odesílání e-mailů. Alternativním řešením je obejít SMTP server a odeslat přímo na místo určení. Je známý jako přímé odesílání a můžete jej použít prostřednictvím konkrétních e-mailových softwarových programů. Přímé odeslání však není příliš spolehlivé, a tady je důvod:

  • nelze jej použít, pokud je port 25 blokován vaším ISP.
  • je to nevhodné pro hromadné e-maily kvůli více připojení k mnoha různým serverům.
  • nemůže odesílat neosobní e-maily.
  • může být blokován e-mailovými filtry, protože e-maily nejsou odesílány z běžného SMTP serveru.

pojďme dát přímé odeslání pryč. Co by vás mohlo zajímat, je důvod, proč byste spustit svůj vlastní SMTP server.

klady a zápory lokálního SMTP serveru

klady nevýhody
  • žádný denní nebo hodinový limit počtu odchozích e-mailů
  • okamžité hlášení
  • soukromí a kontrola všech vašich odchozích e-mailů
  • žádná sdílená IP
  • spuštění lokálního SMTP serveru vyžaduje čas a úsilí
  • míra okamžitého opuštění se může zvýšit o 20-30%
  • některá cloudová řešení, jako jsou Mailgun a SendPulse, poskytují také všechny výše uvedené výhody. Všechny tyto funkce jsou však placeny a stále se musíte spolehnout na službu třetí strany. Místo toho můžete v počítači nastavit server SMTP pomocí konkrétního softwaru.

    požadavky na lokální SMTP server

    zatím neexistují žádné specifické požadavky. Přesto byste měli být připraveni na následující:

    • Někteří poskytovatelé internetových služeb mohou zablokovat port 25. Můžete to vyřešit tím, že se obrátíte na svého poskytovatele ISP a dozvíte se o omezeních, která mohou uložit. Také musíte požádat o správný server DNS a povolení pro rozlišení záznamu MX.
    • u hromadných e – mailů byste se pravděpodobně měli rozhodnout pro doménu a pevnou IP adresu s ní spojenou-tím se zvýší vaše odolnost vůči spamovým filtrům.

    Rychlé nastavení SMTP serveru

    nyní udělejme práci. Vzhledem k tomu, že v počítači nastavíte server SMTP, je důležité vědět, jaký operační systém se používá. Proto přezkoumáme tři způsoby, jak to udělat pro macOS, Windows a Linux.

    Důležitá poznámka: Pokud posíláte testovací e-maily na skutečnou e-mailovou adresu, možná je nenajdete v doručené poště. Nezapomeňte zkontrolovat složku spam. ESP jako Gmail, Yahoo a další jsou podezřelí z nových agentů pro přenos pošty.

    pro macOS

    nejnovější verze macOS X jsou předinstalovány s postfixem-výchozím e-mailovým serverem. Takže vše, co musíte udělat, je vyladit konfiguraci serveru SMTP následujícím způsobem:

    konfigurační soubor Postfix

    • hlavní konfigurační soubor Postfix je první, s kým pracuje. Běh:
    sudo vim /etc/postfix/main.cf
    • řekněte Postfix, který název by měl použít k identifikaci na jiné poštovní servery. Přidejte následující řádky:
    myhostname = john.example.commyorigin = example.com

    pokud je vaše místní uživatelské jméno John, zdá se, že pošta pochází z [email protected].

    • hostitel relé je stroj, který po ověření přijme e-maily a předá je serveru SMTP.
    relayhost=mail.example.com:25
    • musíte povolit SASL s dalším konfiguračním souborem, kde je heslo uloženo.
    smtp_sasl_auth_enable = yessmtp_sasl_password_maps = hash:/etc/postfix/saslpasswd
    • tento řádek znamená, že Postfix bude používat pouze připojení šifrovaná TLS.
    smtp_tls_security_level = encrypt
    • zde je, jak main.cf vypadá v plném rozsahu:
    myhostname = john.example.commyorigin = example.comrelayhost=mail.example.com:25smtp_sasl_auth_enable = yessmtp_sasl_password_maps = hash:/etc/postfix/saslpasswdsmtp_tls_security_level = encrypt
    • uložte soubor pomocí:
    sudo postmap /etc/postfix/main.cf

    soubor s heslem SASL

    • Vytvořte soubor sasl_passwd :
    sudo vim /etc/postfix/sasl_passwd
    • přidejte následující řádek:
    mail.example.com:25 [email protected]:
    • uložte soubor pomocí:
    sudo postmap /etc/postfix/sasl_passwd
    • a restartujte Postfix:
    sudo postfix reload

    místní SMTP server je připraven. Vyzkoušejte to zasláním testovacího e-mailu:

    date | mail -s "Test email" [email protected]

    Poznámka: tento instalační tok je vhodný pro počítače jiné než macOS, které mají pravidelného démona Postfixu.

    pro Linux

    většina linuxových distribucí je dodávána se dvěma nejběžnějšími implementacemi SMTP: Sendmail a Postfix. Sendmail má poměrně složitý design a je méně bezpečný; proto jsme znovu vybrali Postfix.

    instalace

    pokud na počítači nemáte Postfix, nainstalujte jej nejprve. Také budete potřebovat poštovní balíček Mailutils, který obsahuje programy nezbytné pro fungování Postfixu:

    sudo apt install mailutils postfix

    v konfiguračním okně Postfix budete muset vybrat konfiguraci pošty na internetu. Nakonec budete muset zadat název systémové pošty. Mělo by být stejné jako jméno, které jste přiřadili názvu domény směřujícímu k vašemu serveru. Pojďme použít example.com.

    konfigurace

    nyní nakonfigurujeme Postfix pro zpracování požadavků na odesílání e-mailů z localhost. K tomu je třeba vyladit hlavní konfigurační soubor main.cf:

    sudo nano /etc/postfix/main.cf

    Přejděte dolů na řádek inet_interfaces = all a nahraďte jej inet_interfaces = loopback-only

    také je třeba upravit mydestination, který určuje seznam domén. Mělo by to vypadat takto:

    mydestination = $myhostname, localhost.$example.com, $example.com

    uložte soubor a restartujte Postfix pomocí:

    sudo systemctl restart postfix

    na konci zkuste odeslat testovací e-mail:

    echo "Test email body" | mail -s "Test email subject line" receipient's_email_address

    pro Windows

    existuje několik softwarových možností pro nastavení SMTP serveru v systému Windows, včetně MailEnable a Apache James. Ale my jsme se rozhodli pro nejpopulárnější, s názvem hMailServer.

    instalace

    Stáhněte si nejnovější verzi zde a nainstalujte ji. Na začátku instalace je třeba věnovat pozornost následujícím skutečnostem:

    • v okně Vybrat komponenty se ujistěte, že je vybrána úplná instalace. Je třeba zkontrolovat součásti serveru a správy.
    • v okně Vybrat typ databázového serveru zkontrolujte vestavěný databázový stroj.
    • v okně Zabezpečení hMailServer vytvořte heslo pro výchozího uživatele.

    po instalaci spusťte hMailServer a nyní jej nakonfigurujte.

    konfigurace

    • v úvodním okně klikněte na Připojit a zadejte heslo, které jste nastavili během instalace.
    • klikněte na Přidat doménu a do příslušného pole zadejte název domény. Mimochodem, můžete použít falešné doménové jméno, protože skutečné není nutné odesílat e-maily. V tomto případě se však ujistěte, že falešná doména ve skutečnosti neexistuje. Klikněte na Uložit a na levé kartě se zobrazí vaše doména vytvořená.
    • vyberte složku účty na levé kartě a klepněte na tlačítko Přidat … konfigurovat jeden. Vše, co musíte udělat, je zadat jméno do pole Adresa. Tím se nastaví vaše e-mailová adresa. Volitelně můžete zadat heslo. Klikněte na Uložit a přejděte na Nastavení na levé kartě.
    • rozbalte podproces nastavení a vyberte protokoly. Zrušte zaškrtnutí políčka POP3 a IMAP. Pro více informací o těchto protokolech, přečtěte si náš blogový příspěvek IMAP vs. POP3 vs. SMTP. Klikněte Na Uložit.
    • nyní v podprocesu Nastavení vyberte Upřesnit a do pole Výchozí domény na pravé kartě zadejte localhost. Klikněte Na Uložit. Chcete-li skončit s pokročilým nastavením, vyberte Automatický zákaz a zrušte zaškrtnutí políčka povoleno. Klikněte Na Uložit.
    • nakonec rozbalte podproces Utilities a vyberte diagnostika. Vyberte doménu, na které chcete spustit testy, a klikněte na Start. Nemáme zájem o všechny testy, jen sbírat údaje o serveru a testovat odchozí port. Ty by měly být označeny zeleně.

    to je vše. Nyní můžete poslat testovací e-mail. To lze provést pomocí PowerShell-je to rychlé a snadné. Pro více informací o tom, přečtěte si náš blog post odeslat e-maily z PowerShell. Spusťte následující řádek (nezapomeňte zadat data):

    Send-MailMessage -To "<recipient's email address>" -From "<your email address>" -Subject "Your email subject" -Body "Your email body text" -Credential "<your username>" -SmtpServer "127.0.0.1" -Port 25

    v rozbalovacím okně budete muset zadat heslo.

    je SMTP server vhodný pro testování?

    ve většině případů lidé nastavují lokální servery SMTP pro účely testování. Pokud vyvíjíte aplikaci, která bude odesílat e-maily, budete muset tuto funkci otestovat a skutečný server SMTP spuštěný na místním počítači se může zdát dobrou volbou. Ale je to tak? Na jedné straně není obtížné nainstalovat a nakonfigurovat místní server SMTP. Existuje však mnohem lepší řešení.

    pokud používáte Mailtrap pro testování, získáte pokročilý nástroj založený na falešném SMTP serveru. To znamená, že vaše aplikace bude posílat e-maily, ale nebude ve skutečnosti doručit. Vaše odchozí pošta skončí v demo doručené poště Mailtrap. Takže se nebudete muset starat o skutečné příjemce e-mailů a kontrolu složky spamu při každém spuštění testů. Není nutná žádná instalace, vůbec. Vše, co musíte udělat, je aktualizovat nastavení SMTP pomocí pověření Mailtrap. Případně můžete zkopírovat a vložit úryvek kódu připravený k použití. Pro nejběžnější rámce a programovací jazyky jsou k dispozici různé integrace. Další informace o dalších výhodách a možnostech naleznete v příručce Mailtrap Začínáme.

    zabalit

    spuštění lokálního poštovního serveru může být někdy bolest. K dosažení dobré doručitelnosti e-mailů pomocí vlastního SMTP serveru je zapotřebí velké množství znalostí a úsilí. Možná je to dobrá volba pro účely testování, ale Mailtrap nebo jiné nástroje pro testování e-mailů to udělají lépe. Takže skutečně potřebujete místní SMTP server? Jste jediný, kdo na to může odpovědět. Hodně štěstí!

    Leave a Reply

    Napsat komentář

    Vaše e-mailová adresa nebude zveřejněna.