Tento tutoriál vám ukáže, jak nastavit Postfix SMTP relay s Mailjet v Debianu. Postfix je populární open-source SMTP server. Dříve jsem napsal článek o tom, jak rychle nastavit svůj vlastní e-mailový server na Debianu pomocí Modoboa, což mnoha čtenářům pomohlo spustit jejich vlastní e-mailový server.
Někteří čtenáři mi však řekli, že port 25 je blokován poskytovatelem hostingu nebo ISP jako způsob kontroly e-mailového spamu, takže nemohli odesílat e-maily. Vultr by odblokoval port 25, pokud je o to požádáte, a ScalaHosting neblokuje port 25 vůbec, takže doporučuji používat ScalaHosting VPS. Někteří jiní poskytovatelé hostingu nebo ISP jako DigitalOcean by port 25 neodblokovali, takže co můžete udělat, abyste toto blokování obešli, pokud nemůžete nebo nechcete změnit poskytovatele hostingu?
SMTP relé k záchraně
Můžete obejít port 25 a odeslat e-mail do vnějšího světa pomocí přenosu SMTP, protože používá port 587. S přenosem SMTP váš vlastní e-mailový server neposílá e-maily přímo na cílovou e-mailovou adresu. Místo toho existuje zprostředkující poštovní server, jinak známý jako inteligentní hostitel nebo přenosový hostitel, který posílá e-maily vaším jménem. Váš e-mailový server komunikuje s chytrým hostitelem na portu 587, poté inteligentní hostitel komunikuje s poštovním serverem příjemce na portu 25.
Přenos SMTP vám také může pomoci obejít antispamové černé listiny, pokud je vaše IP adresa z jakéhokoli důvodu na černé listině. Poštovní server příjemce zkontroluje IP adresu chytrého hostitele proti veřejným antispamovým blacklistům místo IP adresy vašeho serveru a protože přenosové služby SMTP si udržují dobrou IP reputaci, takže vaše e-maily se mohou dostat přes IP blacklisty.
Pomocí Mailjet zdarma odeslat 200 e-mailů denně
Existuje několik poskytovatelů e-mailových služeb (ESP), kteří mohou fungovat jako inteligentní hostitelé. Některé účtují malý poplatek, některé nabízejí kvóty zdarma každý měsíc. V tomto článku bych vám rád ukázal, jak používat Mailjet, což je poskytovatel e-mailových služeb, který vám umožňuje zdarma odeslat 200 e-mailů denně.
Na Mailjet je hezké, že při použití bezplatné přenosové služby SMTP nevyžaduje zadání údajů o vaší kreditní kartě. Existují další ESP, které nabízejí bezplatnou kvótu každý měsíc, ale vyžadují zadání údajů o kreditní kartě. (Vím, jak to může být frustrované, když nemáte kreditní kartu.) Mailjet se také snadněji nastavuje ve srovnání s jinými ESP.
Vytvořte si účet na mailjet.com. Poté na řídicím panelu uvidíte 3 věci, které musíte udělat.
- Nastavení SMTP
- Správa adres odesílatelů
- nastavení ověřování domény (SPF a DKIM)
Krok 1:Nastavení Postfix SMTP Relay v Debianu
Nejprve nainstalujme Postfix SMTP server na Debian pomocí následujícího příkazu. Pokud již Postfix na vašem serveru běží, pak instalaci Postfixu přeskočte , ale stále musíte nainstalovat libsasl2-modules
balíček.
sudo apt install postfix libsasl2-modules
Až uvidíte následující zprávu, stiskněte klávesu Tab a stiskněte Enter.
Poté zvolte druhou možnost:Internet Site
.
Dále nastavte název systémové pošty. Například zadám název své domény linuxbabe.com
.
Po instalaci Postfixu otevřete konfigurační soubor.
sudo nano /etc/postfix/main.cf
Najděte následující řádek.
relayhost =
Ve výchozím nastavení není jeho hodnota nastavena. Tuto hodnotu musíte získat ze svého účtu mailjet. V řídicím panelu mailjet klikněte na setup my SMTP
.
Zobrazí se adresa serveru SMTP a přihlašovací údaje SMTP.
V konfiguračním souboru Postfixu nastavte hodnotu relayhost
na in-v3.mailjet.com:587
.
relayhost =in-v3.mailjet.com:587
Poté přidejte následující řádky na konec tohoto souboru.
# konfigurace odchozího přenosusmtp_sasl_auth_enable =yessmtp_sasl_password_maps =hash:/etc/postfix/sasl_passwdsmtp_sasl_security_options =noanonymoussmtp_tls_security_level =mayheader_size=06 =0409Uložte a zavřete soubor. Poté vytvořte
/etc/postfix/sasl_passwd
soubor.sudo nano /etc/postfix/sasl_passwdPřidejte hostitele přenosu SMTP a přihlašovací údaje SMTP do tohoto souboru, jak je uvedeno níže. Nahraďte
api-key
asecret-key
s vaším skutečným Mailjet API klíčem a tajným klíčem.in-v3.mailjet.com:587 api-key:secret-keyUložte a zavřete soubor. Poté vytvořte odpovídající hash db soubor pomocí
postmap
.sudo postmap /etc/postfix/sasl_passwdNyní byste měli mít soubor
/etc/postfix/sasl_passwd.db
. Restartujte Postfix, aby se změny projevily.sudo systemctl restart postfixVe výchozím nastavení
sasl_passwd
asasl_passwd.db
soubor může číst každý uživatel na serveru. Změňte oprávnění na 600, aby tyto dva soubory mohl číst a zapisovat pouze root.sudo chmod 0600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.dbOd této chvíle bude Postfix posílat e-maily přes mailjet.
Krok 2:Přidání adres odesílatelů
Chcete-li odesílat e-maily přes mailjet, musíte přidat doménu odesílatele nebo adresu odesílatele. V řídicím panelu mailjet klikněte na
manage sender addresses
. Můžete ověřit celou doménu nebo konkrétní e-mailové adresy.
Krok 3:Nastavení ověřování domény
V tomto kroku potřebujeme nastavit záznam SPF a DKIM, což je důrazně doporučeno, pokud chcete, aby vaše e-maily přicházely do doručené pošty příjemce a nikoli do složky se spamem.
- SPF:Sender Policy Framework. Toto je záznam DNS, který určuje, jaké IP adresy mohou odesílat e-maily z vaší domény.
- DKIM:DomainKeys Identified Mail. Mailjet bude digitálně podepisovat vaše e-maily pomocí soukromého klíče. Záznam DKIM obsahuje veřejný klíč, který umožňuje e-mailovému serveru příjemce ověřit podpis.
V řídicím panelu mailjet klikněte na setup domain authentication
. Ve výchozím nastavení je stav SPF i stav DKIM chybný. Klikněte na manage
a podle pokynů přidejte záznamy SPF a DKIM.
Po vytvoření záznamů SPF a DKIM chvíli počkejte a obnovte webovou stránku mailjet. Rozšíření vašich nových DNS záznamů na internetu může nějakou dobu trvat, v závislosti na vaší hostitelské službě DNS. Pokud jsou záznamy SPF a DKIM správně nastaveny a šíření je dokončeno, mailjet vám sdělí, že záznamy SPF a DKIM jsou dobré.
Odeslání zkušebního e-mailu
Nyní můžeme odeslat testovací e-mail pomocí mailx
příkaz jako níže.
sudo apt install bsd-mailxecho "toto je testovací e-mail." | mailx -r from-address -s hello to-address
Můžete také odeslat zkušební e-mail ze svého webového nebo desktopového poštovního klienta. Je také dobré otestovat skóre e-mailu na https://www.mail-tester.com. Jak můžete vidět, mám perfektní skóre.
Odstraňování problémů
Pokud váš e-mail nebyl doručen a v protokolu pošty jste našli následující zprávu (/var/log/mail.log
),
Přístup k přenosu odepřen (v odpovědi na příkaz RCPT TO))
pak možná budete muset upravit /etc/postfix/sasl_passwd
soubor a odeberte číslo portu za názvem hostitele, jak je uvedeno níže.
in-v3.mailjet.com api-key:secret-key
Uložte a zavřete soubor. Poté znovu vytvořte soubor indexu.
sudo postmap /etc/postfix/sasl_passwd
Restartujte Postfix, aby se změny projevily.
sudo systemctl restart postfix
Nyní můžete vyprázdnit e-mailovou frontu (pokus o doručení předchozích e-mailů).
sudo postqueue -f
Přidání dalších domén
Pokud nastavíte poštovní server na novém počítači pro nový název domény a chcete nastavit přenos SMTP pro tento nový název domény, postupujte podle stejných kroků:
- Nakonfigurujte nastavení přenosu SMTP Postfixu,
- Ověřte nový název domény v řídicím panelu Mailjet
- Nastavte ověření SPF a DKIM