Відправлення листів з різних доменів через ssmtp

Раніше я вже писав статтю про те, як відправляти пошту з сайту не піднімаючи повноцінний поштовий сервер, користуючись реле від yandex. Там ми використовували "заглушку" ssmtp. вельми занедбану, але справляється зі своїми функціями.

Відправлення листів з різних доменів через ssmtp

Тепер ось виникло питання - а як тепер організувати відправку листів. якщо у нас є кілька доменів (сайтів)?

Для одного домену проблем немає - просто вказуємо в конфіги аутентифікаційні дані для релея. Але якщо доменів кілька - то другий раз ці дані вказати не вийде, підтримується тільки одноразове згадка керуючих інструкцій.

А відправляти пошту з іншого домену не вийде, тому що публічні релеї не приймають пошту з іншим "From" (відмінним від аутентифицироваться користувача).

Створюємо різні конфігураційні файли для кожного домена:

# Cp /etc/ssmtp/ssmtp.conf /etc/ssmtp/ssmtp-domain1.conf
# Cp /etc/ssmtp/ssmtp.conf /etc/ssmtp/ssmtp-domain2.conf

У кожному конфіге вказуємо свої аутентифікаційні дані.

У файлі / etc / ssmtp / revaliases вкажемо обидва домени:

root: webmaster @ domain1.ru: smtp.yandex.ru: 465
root: webmaster @ domain2.ru: smtp.mail.ru: 465

Тепер завдання. Як нам вказати довільний конфиг для ssmtp?

/ Usr / sbin / ssmtp -t -C

Власні налаштування PHP в залежності від віртуального хоста

Тепер треба змусити nginx (у мене nginx, тому наводжу для нього) міняти цей параметр в залежності від домену.

Відкриваємо конфігураційні файли nginx (де опис віртуальних хостів) і додаємо для кожного домена відповідний рядок:

fastcgi_param PHP_VALUE "sendmail_path = / usr / sbin / ssmtp -t -C / etc / ssmtp / ssmtp-domain1.conf";

У іншого домену:

fastcgi_param PHP_VALUE "sendmail_path = / usr / sbin / ssmtp -t -C / etc / ssmtp / ssmtp-domain2.conf";

Тепер для кожного домена застосовується власний шлях до sendmail (а значить і параметри аутентифікації).

Для перевірки кидаємо в document_root каталоги кожного домена файли mail.php такого змісту:

Вам так само сподобається:

Відправлення листів з різних доменів через ssmtp
Відправляємо пошту з локального сервера через публічний релей
Відправлення листів з різних доменів через ssmtp
Відправлення електронної пошти за подією SYSLOGD
Відправлення листів з різних доменів через ssmtp
Скрипт для відправки пошти
Відправлення листів з різних доменів через ssmtp
Відмінність різних версій Windows 7
Відправлення листів з різних доменів через ssmtp
Відправлення процесу повідомлення програмою kill
Відправлення листів з різних доменів через ssmtp
Викачуємо Cisco IOS через TFTP