Pokud máte účet Gmail, můžete svůj MTA nakonfigurovat tak, aby předával odchozí poštu přes Gmail. To vám dává výhodu spolehlivosti a robustní infrastruktury Gmailu a poskytuje vám jednoduchý způsob odesílání e-mailů z příkazového řádku.
V tomto tutoriálu použijeme Postfix jako náš MTA. Postfix je bezplatný, open source, aktivně udržovaný a vysoce bezpečný agent přenosu pošty.
V každém kroku probereme pokyny specifické pro následující operační systémy:
- Debian 9
- Ubuntu 18.04 LTS
- CentOS 7
- OpenSUSE Leap 15.0
- Arch Linux 2019.03.01
- FreeBSD 12.0
Nainstalujeme také mailutils /mailx abychom mohli odeslat zkušební e-mail. V případě potřeby nainstalujeme doplňkové knihovny SASL.
Všechny příkazy začínající # vyžadují oprávnění root.
1. Nainstalujte požadovaný software
Debian, Ubuntu:
apt-get update && apt-get install postfix mailutils
Po zobrazení výzvy k zadání „Obecný typ konfigurace pošty“ zvolte Internetový server .
Až budete vyzváni k zadání „Název pošty“, vyberte název hostitele, který se bude používat v hlavičkách pošty jako zdroj vašich e-mailů. Upřednostňuje se plně kvalifikovaný název domény, ale použití jednoduchého názvu hostitele vašeho počítače je v pořádku. Bez ohledu na to, co zde zadáte, vaše zpáteční adresa se příjemcům zobrazí jako vaše adresa Gmail.
Můžete být vyzváni k nastavení "kořenového a poštovního příjemce pošty." Zadejte root , nebo jiný uživatel, který by měl dostávat upozornění podsystému pošty.
Pro všechny ostatní výzvy můžete zvolit výchozí hodnoty.
Fedora:
dnf update && dnf install postfix mailx
CentOS:
yum update && yum install postfix mailx cyrus-sasl cyrus-sasl-plain
OpenSUSE:
zypper update && zypper install postfix mailx cyrus-sasl
Arch Linux:
pacman -Sy postfix mailutils
FreeBSD:
Zkompilujte Postfix z kolekce portů, aby zahrnoval podporu SASL:
portsnap fetch extract update
cd /usr/ports/mail/postfix
make config
V konfiguračních dialozích vyberte Podpora SASL . Všechny ostatní možnosti mohou zůstat stejné. Potom:
make install clean
Mailx lze nainstalovat z binárního balíčku:
pkg install mailx
2. Nakonfigurujte ověřování Gmail
Vytvořte nebo upravte soubor s hesly, který bude Postfix používat k ověření s Gmailem. V níže uvedených ověřovacích informacích nahraďte uživatelské jméno pomocí svého uživatelského jména a hesla Gmailu pomocí hesla k Gmailu. Pokud používáte vlastní název domény Gmail Apps, můžete nahradit gmail.com s vaší doménou Google Apps.
Soubor s hesly bude umístěn v konfiguračním adresáři Postfixu. Soubor lze pojmenovat libovolně, ale doporučený název souboru je sasl_passwd .
Debian, Ubuntu, Fedora, CentOS, OpenSUSE, Arch Linux:
Konfigurační soubory Postfixu jsou umístěny v adresáři /etc/postfix . Vytvořte nebo upravte soubor s hesly:
nano /etc/postfix/sasl_passwd
Přidejte řádek:
[smtp.gmail.com]:587 [email protected]:password
Uložte a zavřete soubor. Vaše heslo k Gmailu je uloženo jako prostý text, takže soubor zpřístupněte pouze uživateli root:
chmod 600 /etc/postfix/sasl_passwd
FreeBSD:
Konfigurační soubory Postfixu jsou umístěny v adresáři /usr/local/etc/postfix . Vytvořte nebo upravte soubor s hesly:
nano /usr/local/etc/postfix/sasl_passwd
Přidejte řádek:
[smtp.gmail.com]:587 [email protected]:password
Uložte a zavřete soubor. Zpřístupněte jej pouze root:
chmod 600 /usr/local/etc/postfix/sasl_passwd
3. Nakonfigurujte Postfix
Existuje šest parametrů, které musí být nastaveny v konfiguračním souboru Postfixu main.cf . Parametry jsou:
relayhost , který určuje hostitele přenosu pošty a číslo portu. Název hostitele bude uzavřen v hranatých závorkách, aby bylo uvedeno, že není vyžadováno žádné vyhledávání MX.
smtp_use_tls , který povoluje (nebo zakazuje) zabezpečení transportní vrstvy.
smtp_sasl_auth_enable , která povoluje (nebo zakazuje) ověřování SASL.
smtp_sasl_security_options , který bude v následující konfiguraci prázdný, aby bylo zajištěno, že nebudou použity žádné možnosti zabezpečení nekompatibilní s Gmailem.
smtp_sasl_password_maps , který určuje soubor hesel, který se má použít. Tento soubor bude zkompilován a hašován pomocí postmap v pozdějším kroku.
smtp_tls_CAfile , který určuje seznam certifikačních autorit, které se mají použít při ověřování identity serveru.
Debian, Ubuntu, Arch Linux:
Upravte hlavní konfigurační soubor Postfixu:
nano /etc/postfix/main.cf
Přidejte nebo upravte následující hodnoty:
relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_security_options =
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
Uložte a zavřete soubor.
Fedora, CentOS:
Upravte hlavní konfigurační soubor Postfixu:
nano /etc/postfix/main.cf
Přidejte nebo upravte následující hodnoty:
relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_security_options =
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt
Uložte a zavřete soubor.
OpenSUSE:
Upravte hlavní konfigurační soubor Postfixu:
nano /etc/postfix/main.cf
Přidejte nebo upravte následující hodnoty:
relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_security_options =
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_tls_CAfile = /etc/ssl/ca-bundle.pem
Uložte a zavřete soubor.
OpenSUSE také vyžaduje, aby hlavní soubor Postfixu zpracoval konfigurační soubor master.cf být upraven. Otevřete jej pro úpravy:
nano /etc/postfix/master.cf
Najděte řádek, který zní:
#tlsmgr unix - - n 1000? 1 tlsmg
Odkomentujte jej, takže bude znít:
tlsmgr unix - - n 1000? 1 tlsmg
Uložte a zavřete soubor.
FreeBSD:
Upravte hlavní konfigurační soubor Postfixu:
nano /usr/local/etc/postfix/main.cf
Přidejte nebo upravte následující hodnoty:
relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_security_options =
smtp_sasl_password_maps = hash:/usr/local/etc/postfix/sasl_passwd
smtp_tls_CAfile = /etc/mail/certs/cacert.pem
Uložte a zavřete soubor.
4. Zpracovat soubor hesel
Použijte postmapu zkompilovat a hašovat obsah sasl_passwd . Výsledky budou uloženy ve vašem konfiguračním adresáři Postfixu v souboru sasl_passwd.db .
Debian, Ubuntu, Fedora, CentOS, OpenSUSE, Arch Linux:
postmap /etc/postfix/sasl_passwd
FreeBSD:
postmap /usr/local/etc/postfix/sasl_passwd
5. Restartujte Postfix
Restartujte službu Postfix a změny se projeví.
Debian, Ubuntu, Fedora, CentOS, OpenSUSE, Arch Linux:
systemctl restart postfix.service
FreeBSD:
Chcete-li spustit službu Postfix pouze pro tuto relaci:
service postfix onestart
Chcete-li Postfix spustit automaticky při inicializaci systému, otevřete /etc/rc.conf pro úpravy:
nano /etc/rc.conf
Přidejte řádek:
postfix_enable=YES
Uložte a zavřete soubor. Poté můžete spustit:
service postfix start
Chcete-li spustit Postfix.
6. Povolte v Gmailu „méně bezpečné aplikace“
Ve výchozím nastavení jsou pro váš účet Gmail povolena pouze nejbezpečnější přihlášení, jako je přihlášení do Gmailu na webu. Chcete-li povolit požadavky na přenos, přihlaste se ke svému účtu Gmail a zapněte možnost Povolit méně bezpečné aplikace .
Další informace naleznete v dokumentu podpory Google „Povolení přístupu méně bezpečných aplikací k vašemu účtu.“
7. Odeslat zkušební e-mail
Otestujte svou novou konfiguraci odesláním e-mailu pomocí e-mailu příkaz. Spustit:
mail -s "Test subject" [email protected]
Zobrazí se vám prázdný řádek (nebo CC: pole, které můžete obejít stisknutím klávesy Enter). Zadejte tělo zprávy a stisknutím klávesy Enter otevřete nové řádky. Po dokončení psaní e-mailu zadejte CTRL-D poslat to. Chcete-li zrušit e-mail, stiskněte CTRL-C dvakrát.
Chcete-li odeslat předem sestavený e-mail, použijte příkaz:
mail -s "Subject Here" [email protected] < textfile
Kde textový soubor je název souboru obsahujícího text, který má být odeslán.
Odstraňování problémů
Pokud nefunguje, zkontrolujte protokoly, zda neobsahují chyby Postfixu:
Debian:
less /var/log/mail.log
Ubuntu, Fedora, CentOS, OpenSUSE, Arch Linux:
journalctl
FreeBSD:
less /var/log/maillog
Pokud obdržíte chyby ověření z Gmailu, ověřte, zda Povolit méně zabezpečené aplikace je zapnuto v nastavení vašeho účtu Gmail, jak je uvedeno v kroku 6.
Ověřte, že soubor hesel sasl_passwd existuje a že jeho obsah je správně naformátován, jak je uvedeno v kroku 2. Pokud provedete jakékoli změny v souboru s hesly, zopakujte kroky 4 a 5, abyste zahašovali nový soubor s hesly a restartovali Postfix.
Pokud uvidíte nějaké chyby TLS, znovu zkontrolujte konfiguraci v main.cf jak je uvedeno v kroku 3. Pokud provedete jakékoli změny konfigurace, restartujte Postfix, jak je uvedeno v kroku 5.