E-mail küldése a különböző területeken keresztül ssmtp
Korábban írtam egy cikket arról, hogy e-mailt küldeni a helyszínen emelése nélkül teljes funkcionalitású mail szerver, a relé Yandex. Ott használta a „sapka” ssmtp. egészen elhagyott, de megbirkózni a funkciókat.
Most itt van egy kérdés - és ez most szervezni a küldő e-mailt. ha több domain (weboldalak)?
Egy domain nincs probléma - egyszerűen adja a konfig hitelesítési adatokat a relét. De ha több domaint - másodszor az adatok pont nem működik, támogatja csak egyetlen utalás az ellenőrzési utasításokat.
A send mail másik domain nem fog működni, mert a közvélemény nem fogadja levéltovábbítást szerverek egy másik „A” (amely különbözik a hitelesített felhasználó).
Hozzon létre egy külön konfigurációs fájlok az egyes tartományokhoz:
# Cp /etc/ssmtp/ssmtp.conf /etc/ssmtp/ssmtp-domain1.conf
# Cp /etc/ssmtp/ssmtp.conf /etc/ssmtp/ssmtp-domain2.conf
Minden config adja hitelesítő adatokat.
Az / etc / ssmtp / revaliases rámutatni mindkét területen:
root: webmaster @ domain1.ru: smtp.yandex.ru: 465
root: webmaster @ domain2.ru: smtp.mail.ru: 465
Most a feladat. Hogyan határozza meg egy tetszőleges konfiguráció ssmtp?
/ Usr / sbin / ssmtp -t -C
Saját PHP beállítások függvényében a virtuális host
Most, hogy a nginx (I nginx, ezért itt neki), hogy módosítsa ezt a beállítást függően a domain.
Nyílt nginx konfigurációs fájlok (ahol a leírása virtuális gépek) és hozzá a megfelelő sort az egyes tartományokhoz:
fastcgi_param php_value "sendmail_path = / usr / sbin / ssmtp -t -C / etc / ssmtp / ssmtp-domain1.conf";
Egy másik terület:
fastcgi_param php_value "sendmail_path = / usr / sbin / ssmtp -t -C / etc / ssmtp / ssmtp-domain2.conf";
Most az egyes tartományokhoz használja a saját útját a sendmail (és így a hitelesítési beállításokat).
Annak ellenőrzésére, document_root dob minden területen könyvtárfájl mail.php az alábbiak szerint: