Postfix egy népszerű ingyenes és nyílt forráskódú szoftver, amely levéltovábbító ügynökként (MTA) működik. A Postfix feladata az e-mailek irányítása és kézbesítése. A klasszikus használat mellett a Postfix úgy is konfigurálható, hogy csak helyi alkalmazások küldhessenek e-maileket.
A Postfix ezen alkalmazása hasznos trükk, amely különféle helyzetekben bevethető. Használható például rendszeres e-mail értesítések küldésekor, korlátozott kimenő forgalmú, harmadik féltől származó e-mail szolgáltatóval való együttműködéskor stb. Bármely teljes értékű SMTP szerverhez képest a Postfix egy könnyebb alternatíva, amely ugyanakkor megőrzi a szükséges funkciókat.
Ebben az útmutatóban bemutatjuk, hogyan telepítheti és konfigurálhatja a Postfixet csak küldésre alkalmas SMTP-szerverként Ubuntun.
Előfeltételek
Az útmutató követéséhez a következő előfeltételeknek kell megfelelnie:
-
Rendelkeznie kell egy megfelelően konfigurált Ubuntu szerverrel, amelyen hozzáféréssel rendelkezik egy sudo nem-root felhasználóhoz.
-
Szüksége lesz egy teljesen regisztrált domain névre is. Tudjon meg többet a domain nevekről az SSL-tanúsítvány telepítése kereskedelmi tanúsítványkiadótól című bejegyzésünkből.
-
Végül szüksége lesz egy DNS-rekordra, amelyben a domain név a szerver nyilvános IP-címére mutat.
A Postfix telepítése
Az előfeltételek teljesülése után a szerver készen áll a Postfix telepítésére. A Postfix telepítésének legegyszerűbb módja a mailutils csomag telepítése. Ez közvetlenül elérhető a hivatalos Ubuntu tárolókból.
Először indítson el egy terminált, és frissítse az APT csomagadatbázist:
|
1 |
sudo apt update |

Ezután telepítheti a Postfixet:
|
1 |
sudo apt install mailutils |

A telepítési folyamat során a következő konfigurációs ablak jelenik meg. Az alapértelmezett opció az Internet Site. A kiválasztás megerősítéséhez nyomja meg a TAB billentyűt a kurzor következő szakaszra mozgatásához. Ezután nyomja meg az Enter:

A következő lépésben a rendszer a „System mail name” (Rendszer e-mail neve) megadását kéri. Ez a szerverhez a létrehozásakor hozzárendelt név lesz. Ahogy a szkriptben is szerepel, ha a helyi gazdagép e-mail címe „foo@example.org”, akkor a rendszer e-mail neve a következő lesz: example.org:

Vegye figyelembe, hogy a konfigurációs szkript később is bármikor elindítható a következő paranccsal:
|
1 |
sudo dpkg-reconfigure postfix |
A Postfix konfigurálása
Ebben lépésben a Postfix úgy lesz konfigurálva, hogy csak a localhost címről küldjön és fogadjon e-maileket. Ehhez a Postfixnek a loopback interfészen kell hallgatóznia. Ez az a virtuális hálózati interfész, amelyet a szerver a belső kommunikációhoz használ. Ezután nyissa meg a Postfix konfigurációs fájlját a választott szövegszerkesztővel:
|
1 |
sudo nano /etc/postfix/main.cf |
Módosítsa az inet_interface értékét a következőre: loopback-only:

Egy másik direktíva, amelyet meg kell változtatnia, a mydestination. Ez határozza meg azon domainek listáját, amelyek a local_transport levélkézbesítési transzporton keresztül kerülnek kézbesítésre. Az alapértelmezett érték valami hasonló lesz:

Módosítsa az értékét a következőre:
|
1 |
mydestination = localhost.$mydomain, localhost, $myhostname |

Abban az esetben, ha a domainje valójában egy aldomain, és azt szeretné, hogy az e-mailek úgy tűnjenek, mintha a fő domainről küldték volna őket, adja hozzá a következő direktívát a Postfix konfiguráció végéhez. Ez eltávolítja az aldomaint az e-mail címből:
|
1 |
masquerade_domains = <main_domain> |

A változtatások életbe léptetéséhez indítsa újra a Postfixet:
|
1 |
sudo systemctl restart postfix |
Az SMTP-szerver tesztelése
Feltételezve, hogy a konfigurációs folyamat sikeresen lezajlott, ideje tesztelni. Ehhez ellenőrizze, hogy a Postfix képes-e e-mailt küldeni egy külső e-mail fiókba a mail paranccsal. Ez a mailutils csomag része:
|
1 |
echo "Test email body" | mail -s "Subject line" <email_address> |
Az üzenetnek meg kell érkeznie a megadott e-mail címre. Ezen a ponton az összes elküldött e-mail titkosítatlan. A szolgáltatók általában spamként jelölik meg az ilyen e-maileket, ezért mindenképpen ellenőrizze a spam mappát az e-mail megérkezéséhez.
If the mail parancs hibát jelez, vagy az e-mail hosszabb idő után sem érkezett meg, ellenőrizze újra a Postfix konfigurációját, és győződjön meg arról, hogy a szervernév és a gépnév megfelelően van beállítva. Ezzel a konfigurációval az e-mailek úgy fognak tűnni, mintha a következő címről küldték volna őket:
|
1 |
<username>@<domain> |
Itt a felhasználónév annak a szerverfelhasználónak a felhasználóneve lesz, aki a mail parancsot futtatta.
Rendszerlevelek továbbítása
Sikeresen ellenőriztük, hogy az e-mail szerver megfelelően van konfigurálva és működik. Most be kell konfigurálni, hogy továbbítsa az e-maileket a root számára. A szerverre küldött összes rendszer által generált üzenet továbbításra kerül egy külső e-mail címre. Az e-mail címzettek számára az /etc/aliases fájl tartalmazza az alternatív nevek listáját. Nyissa meg a választott szövegszerkesztővel:
|
1 |
sudo nano /etc/aliases |
Alapértelmezés szerint ez így fog kinézni:

A fájl végéhez adja hozzá a következő sort:
|
1 |
root: <email_address> |

Ez azt jelzi, hogy a root címre küldött e-mailek továbbításra kerülnek egy e-mail címre. A változtatás érvénybe léptetéséhez futtassa a következő parancsot. Ez újraépíti az alias adatbázist, amelyet a mail parancs használ:
|
1 |
sudo newaliases |
![]()
Ezután tesztelnie kell, hogy a változtatás sikeres volt-e. Küldjön egy teszt e-mailt a root:
|
1 |
echo "Test root email body" | mail -s "Subject line" root |
Az e-mailnek meg kell érkeznie a megadott e-mail címre. Ne felejtse el ellenőrizni a spam mappát, mivel még nincs beállítva titkosítás.
SMTP titkosítás engedélyezése
Az e-mailek titkosítatlan formátumban történő küldése kockázatos lépés. A biztonság érdekében engedélyezni kell az SMTP titkosítást. Ennek eléréséhez egy ingyenes TLS-tanúsítványt fogunk kérni a Let’s Encrypt szolgáltatótól a domainjéhez.
Ubuntu esetén a Certbot eszköz végzi el a feladatot. Szerencsére ez közvetlenül elérhető a hivatalos Ubuntu tárolóból. Telepítse a Certbotot a következő paranccsal:
|
1 |
sudo apt install certbot |

Feltételezve, hogy a szerveren be van állítva az UFW, szükséges, hogy a 80 port nyitva legyen, hogy a domain ellenőrzése megtörténhessen. Futtassa a következő parancsot az engedélyezéséhez:
|
1 |
sudo ufw allow 80 |

Most futtassa a Certbotot a tanúsítvány generálásához. Ez arra utasítja a Certbotot, hogy 4096 bites RSA kulccsal állítson ki tanúsítványokat. Az ellenőrzés a 80 porton (HTTP) keresztül történik:
|
1 |
sudo certbot certonly --standalone --rsa-key-size 4096 --agree-tos --preferred-challenges http -d <domain> |
A kimenet valami ilyesmi lesz:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
Mentés hibakeresési napló ide /var/log/letsencrypt/letsencrypt.log Bővítmények kiválasztva: Hitelesítő standalone, Telepítő Nincs Beszerzés egy új tanúsítvány Végrehajtás a következő kihívások: http-01 kihívás számára '<domain>' Várakozás a hitelesítésre... Kihívások tisztításachallenges FONTOS MEGJEGYZÉSEK: - Gratulálunk! Az Ön tanúsítványa és lánca elmentve itt: saved at: /etc/letsencrypt/live/<domain>/fullchain.pem Az Ön kulcsfájlja file elmentve itt: saved at: /etc/letsencrypt/live/<domain>/privkey.pem Az Ön tanúsítványa le fog járni ekkor: 2020-07-11. Ahhoz, hogy beszerezzen egy új vagy módosított verziót ebből a tanúsítványból a jövőben, egyszerűen futtassa , újra a certbot alkalmazást. Az összes-tanúsítvány nem interaktív megújításához futtassa a következőt, run "certbot renew" - Ha szereti a Certbot, -ot, kérjük, támogassa a munkánkat by: adományozással az ISRG / Let's Encrypt: https://letsencrypt.org/donate adományozással az EFF: https://eff.org/donate-le |
A kulcs a következő könyvtárban lesz tárolva:
|
1 |
/etc/letsencrypt/live/<domain> |
Most, hogy a tanúsítvány elkészült, nyissa meg a Postfix konfigurációs fájlját egy szövegszerkesztőben:
|
1 |
sudo nano /etc/postfix/main.cf |
Keresse meg a következő szakaszt: TLS paraméterek:

Ezután módosítsa a következő direktívák értékét: smtpd_tls_cert_file és smtpd_tls_key_file:

Ezután mentse és zárja be a fájlt. A változtatások érvénybe léptetéséhez indítsa újra a Postfixet:
|
1 |
sudo systemctl restart postfix |
Végül küldjön újra egy teszt e-mailt a cél e-mail címre:
|
1 |
echo "Ez az e-mail törzse" | mail -s "E-mail tárgya" <email> |
Az e-mailnek most már normálisan kell megjelennie, mint a többi e-mailnek. Ha ellenőrzi az e-mail technikai adatait, az titkosítottnak fog tűnni.
Záró gondolatok
Gratulálunk! Sikeresen konfigurált egy csak küldésre alkalmas e-mail szervert a Postfix segítségével. Az e-mail tranzakciók szintén biztonságosak a megfelelő titkosítási kulcs használatával.
Az e-mail továbbítás optimalizálásának további módjaiért tekintse meg ezt az útmutatót: A Google SMTP-szerverének legjobb használati módjai.
Kellemes számítógépes munkát!
Hozzászólások
Még nincsenek hozzászólások. Legyen Ön az első.