Anterior, am scris un articol despre modul de a trimite e-mail de pe site-ul fără a ridica server de mail cu caracteristici complete, folosind releu Yandex. Acolo am folosit „capac“ ssmtp. destul de abandonat, dar pentru a face față cu funcțiile lor.
Acum, iată o întrebare - și este acum de a organiza trimiterea de e-mailuri. dacă avem mai multe domenii (site-uri)?
Pentru un domeniu nu există nici o problemă - pur și simplu specificați în datele de autentificare de configurare pentru releu. Dar dacă mai multe domenii - a doua oară punctul de date nu funcționează, este susținută de doar o singură referire la instrucțiunile de control.
Un e-mail Trimitere la un alt domeniu nu va funcționa, deoarece publicul nu acceptă servere releu mail cu un alt „Din“ (diferit de utilizator autentificat).
Creați un alt fișiere de configurare pentru fiecare domeniu:
# Cp /etc/ssmtp/ssmtp.conf /etc/ssmtp/ssmtp-domain1.conf
# Cp /etc/ssmtp/ssmtp.conf /etc/ssmtp/ssmtp-domain2.conf
Fiecare config specifica datele de autentificare.
În fișierul / etc / ssmtp / revaliases indica ambele domenii:
root: webmaster @ domain1.ru: smtp.yandex.ru: 465
root: webmaster @ domain2.ru: smtp.mail.ru: 465
Acum sarcina. Cum putem specifica o configurație arbitrară pentru ssmtp?
/ Usr / sbin / ssmtp -t -C
Setările PHP proprii, în funcție de gazdă virtuală
Acum avem de a face Nginx (I Nginx, deci aici pentru el) pentru a schimba această setare în funcție de domeniu.
Deschideți fișierele de configurare Nginx (în cazul în care descrierea gazde virtuale) și adăugați linia corespunzătoare pentru fiecare domeniu:
fastcgi_param php_value "sendmail_path = / usr / sbin / ssmtp -t -C / etc / ssmtp / ssmtp-domain1.conf";
Într-un alt domeniu:
fastcgi_param php_value "sendmail_path = / usr / sbin / ssmtp -t -C / etc / ssmtp / ssmtp-domain2.conf";
Acum, pentru fiecare domeniu utilizează propria cale către sendmail (și, prin urmare, setările de autentificare).
Pentru a verifica DOCUMENT_ROOT aruncă în fiecare domeniu fișierele director mail.php după cum urmează: