A tranzakciós e-mailek webfejlesztésnél általában lehetnek:
- regisztráció megerősítése
- jelszó visszaállítása
- vásárlási visszaigazolás
- rendelés állapotának frissítése
- számla, bizonylat küldése
- rendszerértesítések (pl. sikeres belépés, új üzenet stb.)
Ezek tesztelése a legtöbb fejlesztőnek is kisebb nehézségbe ütközik. Számos kerülő megoldásnál a legegyszerűbb egy Linux felhasználó élete.
A Postfix-et be lehet állítani úgy, hogy minden email-t ugyanannak a felhasználónak küldjön el.
Postfix telepítése dpkg-val:
sudo apt install postfix
Hogy minden kimenő levél egyetlen felhasználónál landoljon, függetlenül attól, kinek szól a címzett, a legjobb és legegyszerűbb módszer Postfix-ben a recipient_canonical_maps
használata.
Cél:
Minden levél (akár mail@google.com
vagy akarmi@valami.hu
) → átírásra kerüljön pl. youruser
felhasználóra.
Lépések (Postfix konfiguráció):
1. Hozd létre a canonical
fájlt:
sudo nano /etc/postfix/recipient_canonical
Tartalom:
/.*/ youruser
Ez egy regex (PCRE formátumban), ami minden e-mail címzettet
youruser
-ra ír át.
2. Fordítsd le a fájlt:
sudo postmap /etc/postfix/recipient_canonical
3. Állítsd be a main.cf
fájlban:
sudo nano /etc/postfix/main.cf
Add hozzá (vagy módosítsd):
recipient_canonical_maps = regexp:/etc/postfix/recipient_canonical
Ha nem engedélyezett a
regexp:
formátum (fordítási beállítástól függ, Ubuntu 24.04-en engedélyezett), használhatod simánhash:
fájlként is:
@ youruser
A @
wildcardként működik a hash
fájloknál, de nem olyan rugalmas mint a regexp
.
4. Indítsd újra a Postfixet:
sudo systemctl restart postfix
Teszteld:
echo "Teszt üzenet" | mail -s "Teszt tárgy" teszt@akarmi.hu
Majd nézd meg:
mail # bejelentkezve youruser felhasználóként
Ha helyesen működik, a teszt@akarmi.hu
levél youruser
postaládájában jelenik meg.
Dovecot telepítése (IMAP szerver)
sudo apt update
sudo apt install dovecot-imapd dovecot-pop3d -y
Ellenőrizd, hogy fut:
sudo systemctl status dovecot
Roundcube telepítése
sudo apt install roundcube roundcube-core roundcube-mysql roundcube-plugins -y
Telepítés közben válaszd:
- Apache vagy Nginx integrációját (ha kérdezi)
- MySQL adatbázist használjon (ha kérdezi)
Roundcube elérhetővé tétele böngészőből
Ez automatikusan a következő helyen lesz:
http://localhost/roundcube
Ha külső gépről akarod elérni, nyisd meg a 80-as portot, és engedélyezd a
roundcube.conf
-ot webserveren belül.
Bejelentkezés
Felhasználónév: <code>youruser
Jelszó: (a <code>youruser
rendszerjelszava)
IMAP szerver: localhost
SMTP: localhost
(Postfix már fent van)
Összefoglalás
Lehet elsőnek kicsit soknak tűnik, de hidd egyszerűbb megcsinálni ezt az egészet, mint elolvasni ezt a blog bejegyzést.