LINUX.ORG.RU

отправка почты из под apache(mod_php) при помощи Exim


0

1

Добрый день,

ситуация достаточно обычная, почта отправляется web-сервером при помощи Exim. Все работает, за исключением того что никуда не отправляются сообщения о проблемах доставки. Т.е. если пользователь указывает, например, некорректный адрес получателя - он может никогда об этом не узнать.

Судя по логам, сообщения в Exim приходят, как и должны, от пользователя вида apache@my_host_name.com.

Вопросы такие: 1) Как сделать так чтобы Exim отправлял уведомления о проблемах доставки ? 2) Является ли необходимостью заведение MX записи для my_host_name.com или все-таки возможно получение почты от Exim для локального пользователя apache и без нее ?

Судя по логам, сообщения в Exim приходят, как и должны, от пользователя вида apache@my_host_name.com.

Именно, что НЕ должны. Должен быть адрес отправителя. В случае php, это пятый параметр mail(). Только этот параметр, какого-то чёрта, недоступен в safe mode. Это уже к разработчикам PHP.

AS ★★★★★ ()

Кстати, если кто-нибудь повесит БОЛЬШОЙ КРИТИЧНЫЙ БАГ на php по поводу работы mail() в safe mode, будет весьма хорошо, а то развелась просто толпа недовебдевелоперов, которые думают, что что их почта с левыми mail from (а ведь далеко не факт, что apache@my_host_name.com реально существует) будет везде нормально доставлена.

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

Не совсем понял. Хотите сказать что можете поменять хедеры Received: & Sender: используя параметры вызова MTA ? Как, если не секрет ?

А если нет, то о чем была речь ?

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

Хотите сказать что можете поменять хедеры Received: & Sender:

Несовсем. Дело-то не в них, а в том, что передаётся в mail from.

Как, если не секрет ?

http://php.net/manual/ru/function.mail.php

<?php
mail('nobody@example.com', 'the subject', 'the message', null,
'-fwebmaster@example.com');
?>

Вот это вот -fwebmaster@example.com и означает, правда для Sendmail, что подставлять в mail from, вне зависимости от заголовка сообщения. Вместе с Exim, наверняка, врапер «sendmail» есть, который основные параметры Sendmail транслирует в параметры Exim.

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

Про опцию сендмейла -f знал, но меня всегда смущало то, что она не меняет заголовки никак. Т.е. MAIL FROM может и поменялся, но проверить это не получится, правильно ?

А самое неприятное для меня - это то что сообщения о проблемах доставки все равно сваливаются на один и тот же локальный аккаунт, независимо от того что указано в -f.

Не в курсе как это можно пофиксить ?

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

Т.е. MAIL FROM может и поменялся, но проверить это не получится, правильно ?

В логе должно быть видно, по идее.

А самое неприятное для меня - это то что сообщения о проблемах доставки все равно
сваливаются на один и тот же локальный аккаунт, независимо от того что указано в -f.

А вот это уже чьё-то неправильное поведение. В случае проблем боунс должен формироваться именно на тот адрес, что в mail from (или не формироваться вообще, если mail from:<>), вне зависимости от того, что в поле From заголовка сообщения.

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

Пардон, это было документированное поведение. После добавления пользователя apache в trusted_users все именно так и работает.

Вопрос похоже можно считать закрытым, спасибо за разъяснения.

elterrible ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.