Измените значение по умолчанию с адреса из 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>, Но я не уверен, возможно ли это.

Ответы:


6

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

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


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}


Как это должно что-то исправить?
Уомбл

ой, извините, эта часть отсутствует ... в файле envars ищите этот экспорт APACHE_RUN_USER = www-экспорт данных APACHE_RUN_GROUP = www-data и меняйте его на этот экспорт APACHE_RUN_USER = экспорт информации APACHE_RUN_GROUP = www-data
IT-Log
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.