Google apps-ban van lehetőség SMTP Relay szerver engedélyezésére. Ez akkor jó, ha például olyan helyről szeretnénk levelet küldeni, ami nem rendelkezik Google Apps felhasználóval, például szerverekről.
Ezt a Google Apps adminisztrátori felületén lehet megtenni:
Google Apps -> Settings for Gmail -> Advanced Settings -> General Settings
SMTP relay service
Itt érdemes bekapcsolni az alábbi két opciót:
Only accept mail from the specified IP addresses – csak megadott helyekről fogadjon el leveleket
Allowed senders: Any addresses (not recommended) – onnan viszont bármilyen címről
Be is állítottam mindent, de a google SMTP szervere folyamatosan eldobálta a levelet, mert valamiért a postfix mindig csak a szerver nevét (pl. root@server) rakta bele a feladó mezőbe, amit a google annak ellenére sem szeret, hogy beállítottuk, hogy szeresse…
A végső megoldást az alábbi hack jelentette:
A /etc/postfix könyvtár alá létrehoztam egy sender_canonical nevű fájlt, aminek a tartalma:
/^(.*@).*$/ ${1}server.voji.hu
Módosítottam továbbá a /etc/postfix/main.cf-et:
sender_canonical_maps = regexp:/etc/postfix/sender_canonical
relayhost = smtp-relay.gmail.com:25
Ezek után már csak ki kellett generálni a sender_canonical-hoz tartozó .db fájlt:
postmap sender_canonical
valamint újrarúgni a postfix-et:
sudo postfix reload
És már csak egy gyors teszt volt hátra:
echo "Test mail from postfix" | mail -s "Postfix test" voji@voji.hu
Mindeközben a /var/log/mail.log fájlban:
Sep 10 14:44:20 server postfix/smtp[11752]: 98D866567C3: to=<voji@voji.hu>, relay=smtp-relay.gmail.com[173.194.65.28]:25, delay=0.7, delays=0.34/0/0.26/0.09, dsn=2.0.0, status=sent (250 2.0.0 OK 1410353060 q15sm45749wij.3 – gsmtp)
Sep 10 14:44:20 adsrv2 postfix/qmgr[11744]: 98D866567C3: removed
Tadaaam.
Ui: azt, hogy a postfix által küldött levelek normális feladóval rendelkezzenek biztos el lehet érni ennél kultúráltabb módon is, de egyenlőre ennél jobb megoldást nem találtam (pedig próbálkoztam midnenféle myorigin = /etc/mailname-el és társaival is)