Измените значение по умолчанию с адреса из Postfix с www-data на другое

13

Настройка Postfix и Apache / PHP на сервере Ubuntu. Почта теперь работает нормально с правильным именем домена, но отображаемое имя локальной части всегда "www-data", так как я предполагаю, что Postfix по умолчанию использует имя пользователя.

В файле php.ini, я был в состоянии изменить , sendmail_pathчтобы sendmail_path = "/usr/sbin/sendmail -t -i -f support@example.com"но отображаемое имя электронной почты по- прежнему выглядит как WWW-данные. Я попытался указать отображаемое имя несколькими различными способами, но это было проигнорировано, и почта все еще отправлялась в виде www-данных.

Я хотел бы иметь возможность по умолчанию отправлять сообщения с отсутствующими заголовками from, return-path и т. Д. "Example Support" <support@example.com>, Но я не уверен, возможно ли это.

WuckaChucka
источник

Ответы:

6

Как я понимаю вопрос, вы пытаетесь установить полное имя отправителя, а не адрес (или, в дополнение к адресу). В общем, Postfix не волнует, что это такое, и вы устанавливаете его, когда ваш MUA (в данном случае какой-то php-скрипт) генерирует заголовки сообщений. Я не знаком с кодированием в php, но похоже, что это объясняется в документации по функции PHP mail () .

Но если вы вызываете sendmailбинарный файл postfix для отправки сообщения, вы можете использовать его, -F "Support System"чтобы делать то, что вы хотите. Может быть, это должно быть в mail.force_extra_parametersнастройке - мне не очень понятно, как здесь работает php. (Главным образом, это в любом случае неправильно.)

mattdm
источник
1
Это хорошо работает, спасибо. Обычно я правильно устанавливал заголовки при отправке через PHP mail () и т. Д., Но хотел установить что-то как значение по умолчанию на случай, если заголовки были неправильными и т. Д.
WuckaChucka
1
Обратите внимание, что вы можете использовать ОБА опции -f и -F для установки отображаемого имени и адреса. Например: -F "Система поддержки" -f "support@example.com"
Лиам
12

Добавьте в свой main.cf

smtp_generic_maps = hash:/etc/postfix/generic

И создайте файл с именем / etc / postfix / generic с помощью:

www-data support@example.com

запустить, postmap /etc/postfix/genericчтобы скомпилировать и перезагрузить постфикс. Ваше имя для отправки теперь support@example.com

Дом
источник
4
Это не имело никакого эффекта.
WuckaChucka
ты перезагружаешь postfix? Может быть, перезагрузить. У вас есть ошибки в ваших журналах?
Дом
Это также работает для установки обратного пути, когда MUA является PHPmailer и PHPmailer использует mail()?
Гея
@Dom, обратный путь изменился, как и ожидалось, и я получил все проходы SPF, DKIM и DMARC, но все равно оказался в Junk Box! Пожалуйста помоги.
webmastx
Обнаружение спама зависит от сотен факторов. Ваше письмо тоже может быть недействительным (и не только отправителем)
Дом
5

Чтобы завершить процесс, нужно сделать еще одну вещь, о которой @Dom забыл. Запустите следующую команду:

$ postmap /etc/postfix/generic

Эта команда будет создавать generic.dbфайл в каталоге / postfix.

Если вы этого не сделаете, вы можете столкнуться со следующей ошибкой:

fatal: open database /etc/postfix/generic.db: No such file or directory

Огуз Челикдемир
источник
Это также работает для установки обратного пути, когда MUA является PHPmailer и PHPmailer использует mail()?
Гея
-1

попробуй это

/ И т.д. / apache2 / envvars

Пользователь $ {APACHE_RUN_USER} Группа $ {APACHE_RUN_GROUP}

IT-Log
источник
Как это должно что-то исправить?
Уомбл
ой, извините, эта часть отсутствует ... в файле envars ищите этот экспорт APACHE_RUN_USER = www-экспорт данных APACHE_RUN_GROUP = www-data и меняйте его на этот экспорт APACHE_RUN_USER = экспорт информации APACHE_RUN_GROUP = www-data
IT-Log