LINUX.ORG.RU
ФорумAdmin

SSMTP + PHP-FPM (Docker) Имя отправителя

 , , , ,


0

1

Здравствуйте.

В docker-compose установлены сервисы - это nginx, php-fpm (7.1), и др. это не важно.

Сам NGINX помимо проксирования, так же обслуживает веб-сайты с разными доменами и php-fpm сервис выполняет соответственно скрипты PHP.

Надо было, чтобы полетела почта по средствам функции mail(), решил поставить ssmtp, а так же добавил разные конфигурации ssmtp для доменов, типа: ssmtp-example1.com.conf ssmtp-example2.com.conf ssmtp-example3.com.conf

Завел это дело при помощи NGINX указав в fastcgi_param значение sendmail_path для каждого виртуального хоста (домена) свой конфиг ssmtp.

И почта полетела, от разных доменов с именем www-data@домен-сайта.ru!

Но теперь проблема, как не пытаюсь изменить Имя отправителя (Sender) при помощи PHP, ничего не получается! Т.е. письмо приходит ОТ: www-data@домен-сайта.ru Хочется, чтобы было красиво, типо ОТ: ООО Рога и Копыта <www-data@домен-сайта.ru>

я так понимаю ssmtp затирает значение sender-а?

Как можно сделать?

FromLineOverride - только сначала 10 раз подумайте прежде чем использовать. Еще как вариант, свой скрипт который будет менять только адрес в from а не всю строку, и скармливать на вход ssmtp.

anc ★★★★★ ()
Ответ на: комментарий от anc

Спасибо за ответ

Сейчас стоит так - FromLineOverride=YES

Сейчас письма приходят так: www-data <www-data@example.com>

Я хочу, чтобы приходили так: ООО Фирма <www-data@example.com>

Спасибо

dirsex ()
Ответ на: комментарий от anc

Да вот уже даже при помощи PHPMailer формирую, все равно так:

$mail = new PHPMailer();

$mail->CharSet = "UTF-8";
$mail->From = 'no-reply@example.com';        // от кого (почта)
$mail->FromName = 'ООО Фирма';              // от кого (Имя)

$mail->AddAddress('vasya@mail.ru', 'Вася');
$mail->IsHTML(true);

....

Даже если я изменю на $mail->From = 'superfirma@example.com', все равно придет как no-reply@example.com

Такое ощущение, что сама директива FromLineOverride=YES не включается

dirsex ()
Ответ на: комментарий от anc

FromLineOverride=YES получается у меня тупо не работает, так что-ли получается?

dirsex ()

я так понимаю ssmtp затирает значение sender-а?

Нет. Это PHP mail() в принципе его делать не умеет. Он знает про From, но не знает про envelope from. Можно слать через bin/sendmail и задавать пятым параметром mail() параметры для sendmail. Например "-f vasya@example.com".

AS ★★★★★ ()
Последнее исправление: AS (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.