При использовании apache + mod_ruid2 в некоторых случаях может не доставляться почта, отправленная с помощью php-шной функции mail(), не смотря на все корректно заполненные заголовки.
При попытке отправить письмо приходит “отлуп”:
Subject: Mail delivery failed: returning message to sender
This message was created automatically by mail delivery software. A message that you sent could
not be delivered to one or more of its recipients. This is a permanent error.
The following address(es) failed: remoteuser@domain.com
SMTP error from remote mail server after
RCPT TO:: host mx.domain.com.ua [89.1xx.xx.xx]: 550 Can't verify sender
Кто-то уже сталкивался с таким ?
Update:
Вылечилось легкой правкой конфига Exim-а
Причина проявления данного эффекта связана с тем, что вот эта директива, указанная в юзеровском httpd.conf:
php_admin_value sendmail_path '/usr/sbin/sendmail -t -i -f user@domain.net'
полностью игнорировалась.
Фикс такой – добавляем в конфиг ексима следующее:
local_from_check = false
local_sender_retain = true
untrusted_set_sender = *
Перезапускаем и наслаждаемся отсутствием описанной выше проблемы.
Для справки.
до установки мода mod_ruid2 php скрипты работали под именем apache. В свою очередь, пользователь apache входит в trusted_users в конфигурации ексима.
Поэтому заголовок ‘Sender:’ изменялся с помощью “sendmail -t -i -f user@domain.net” вполне нормально.
После установки mod_ruid, скрипты выполняются уже от имени владельца, который не входит в trusted_users и естественно не мог сделать подмену ‘Sender:’ и ‘From:’
Останні коментарі