Поля Return-path и Envelope-from не совпадают с полем From

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
deisler
рядовой
Сообщения: 35
Зарегистрирован: 2009-03-18 17:56:17

Поля Return-path и Envelope-from не совпадают с полем From

Непрочитанное сообщение deisler » 2009-03-23 18:29:07

Здравствуйте.
Настроил exim + mysql + dspam + dovecot, во входящих письмах поля Return-path и Envelope-from не совпадают с полем From, а всегда равны root@мой домен. Подскажите куда копать?
Спасибо.
Последний раз редактировалось deisler 2009-03-24 10:53:26, всего редактировалось 1 раз.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: Поля Return-path и Envelope-from

Непрочитанное сообщение Laa » 2009-03-23 18:50:43

Покажите свои роутер и транспорт, через которые приходят письма.
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

deisler
рядовой
Сообщения: 35
Зарегистрирован: 2009-03-18 17:56:17

Re: Поля Return-path и Envelope-from

Непрочитанное сообщение deisler » 2009-03-23 19:15:52

Роутеры

Код: Выделить всё

begin routers
dspam_addspam_router:
    driver = accept
    domains                      = +local_domains
    local_part_prefix = spam-
    transport = dspam_addspam_transport                                                                        
dspam_notspam_router:
    driver = accept
    domains                      = +local_domains
    local_part_prefix = notspam-
    transport = dspam_notspam_transport
dnslookup:
    driver = dnslookup
    domains = ! +local_domains
    transport = remote_smtp
    ignore_target_hosts = 0.0.0.0 : localhost
    no_more
system_aliases:
    driver      = redirect
    allow_fail
    allow_defer
    data = ${lookup mysql{SELECT `goto` FROM `alias` WHERE \
           `address`='${quote_mysql:$local_part@$domain}' OR \
           `address`='${quote_mysql:@$domain}'}}                                                               
dspam_spamscan_router:
    driver = accept
    domains                      = +local_domains
    no_verify
    condition = "${if and {{!eq {$received_protocol}{spam-scanned}} \
                {!eq {$received_protocol}{local}} } {1}{0}}"
   transport = dspam_lmtp_spamcheck_transport
   require_files = /usr/bin/dspam
   address_test = false
local_delivery_spam_router:
   driver                       = accept
   domains                      = +local_domains
   condition                    = ${if match{$h_X-DSPAM-Result:}{Spam}}
   transport                    = local_delivery_spam_transport
   no_more
dovecot_user:
    driver = accept
    condition = ${lookup mysql{SELECT `goto` FROM `alias` WHERE \
                `address`='${quote_mysql:$local_part@$domain}' OR \
                `address`='${quote_mysql:@$domain}'}{yes}{no}}
    transport = dovecot_delivery
Транспорты

Код: Выделить всё

begin transports
remote_smtp:
    driver = smtp
dovecot_delivery:
    driver = pipe
    command = /usr/libexec/dovecot/deliver -d $local_part@$domain
    message_prefix =
    message_suffix =
    delivery_date_add
    envelope_to_add = true
    return_path_add = true
    log_output
address_pipe:
    driver = pipe
    return_output
address_reply:
    driver = autoreply
dspam_addspam_transport:
    driver = pipe
    command = /usr/bin/dspam --debug --user \
              $local_part@$domain --class=spam --source=error
    return_path_add = false
    return_fail_output = true
    log_output = true
    home_directory = "/var/spool/dspam"
    current_directory = "/var/spool/dspam"
    user = dspam
    group = dspam                                           
dspam_notspam_transport:
    driver = pipe
    command = /usr/bin/dspam --debug --user \
              $local_part@$domain --class=innocent \
              --source=error --deliver=innocent %u
   return_path_add = false
   return_fail_output = true
   log_output = true
   home_directory = "/var/spool/dspam"
   current_directory = "/var/spool/dspam"
   user = dspam
   group = dspam
dspam_lmtp_spamcheck_transport:
   driver = lmtp
   socket = /var/run/dspam/dspam.sock
   batch_max = 20
   user = dspam
   group = dspam
   return_path_add = false
local_delivery_spam_transport:
   driver = pipe
   command = /usr/libexec/dovecot/deliver -d \
                $local_part@$domain -s -m Spam
   message_prefix =
   message_suffix =
   delivery_date_add
   envelope_to_add = true
   return_path_add = true                                              

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: Поля Return-path и Envelope-from не совпадают с полем From

Непрочитанное сообщение Laa » 2009-03-24 11:10:09

А попробуйте сделать еще один роутер, перед довкотовым, который для теста доставит письмо в какой-то тестовый maildir, посмотрите какие в этом письме будут subj.

Я просто подозреваю dovecot_delivery, сам ним не пользовался, поэтому опыта по нему нет. :pardon:
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

deisler
рядовой
Сообщения: 35
Зарегистрирован: 2009-03-18 17:56:17

Re: Поля Return-path и Envelope-from не совпадают с полем From

Непрочитанное сообщение deisler » 2009-03-25 12:12:14

Laa писал(а):А попробуйте сделать еще один роутер, перед довкотовым, который для теста доставит письмо в какой-то тестовый maildir, посмотрите какие в этом письме будут subj.

Я просто подозреваю dovecot_delivery, сам ним не пользовался, поэтому опыта по нему нет. :pardon:
Да, действительно, при доставке почты в файл, такой проблемы нет.
Явно это махинации довекота.
Кто в довекоте разбирается, подскажите, пожалуйста.

deisler
рядовой
Сообщения: 35
Зарегистрирован: 2009-03-18 17:56:17

Re: Поля Return-path и Envelope-from не совпадают с полем From

Непрочитанное сообщение deisler » 2009-04-01 11:21:47

Ошибся, на самом деле заменяет поля return-path и envelope-from именно dspam на этапе проверки спама.
Dspam работает как демон через lmtp.

Роутер:

Код: Выделить всё

dspam_lmtp_spamcheck_transport:
   driver = lmtp
   socket = /var/run/dspam/dspam.sock
   batch_max = 20
   user = dspam
   group = dspam                      
Заголовки:

Код: Выделить всё

Return-path: <root@mydomain.ru>
Envelope-to: user@mydomain.ru
Delivery-date: Wed, 01 Apr 2009 11:44:16 +0400
Received: from root by mx.mydomain.ru with spam-scanned (Exim 4.69)
        (envelope-from <root@mydomain.ru>)
        id 1Lov7Q-0007ir-AW
        for user@mydomain.ru; Wed, 01 Apr 2009 11:44:16 +0400
Received: from f230.mail.ru ([194.186.55.141]:50678)
        by mx.mydomain.ru with esmtp (Exim 4.69)
        (envelope-from <user@mail.ru>)
        id 1Lov7Q-0007if-98
        for user@mydomain.ru; Wed, 01 Apr 2009 11:44:16 +0400
Received: from mail by f230.mail.ru with local
        id 1Lov6w-0002Ty-00
        for user@mydomain.ru; Wed, 01 Apr 2009 11:43:46 +0400
Received: from [82.138.57.196] by win.mail.ru with HTTP;
        Wed, 01 Apr 2009 11:43:46 +0400
From: User <user@mail.ru>
To: user@mydomain.ru                                             
Как сей факт пофиксить? При Return-path root@mydomain.ru мессаги о недоставленных сообщениях не будут доходить до отправителя.

zed
проходил мимо

Re: Поля Return-path и Envelope-from не совпадают с полем From

Непрочитанное сообщение zed » 2009-04-10 12:34:08

Мне тоже этот вопрос очень интересен. Моск уже разрушил.
Ап.


Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35351
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Поля Return-path и Envelope-from не совпадают с полем From

Непрочитанное сообщение Alex Keda » 2009-04-12 23:01:20

добавить в доверенные пользователи?
Убей их всех! Бог потом рассортирует...

x-fly
проходил мимо

Re: Поля Return-path и Envelope-from не совпадают с полем From

Непрочитанное сообщение x-fly » 2009-04-13 0:24:57

Мне нужно заменять заголовок Return-path на свой заголовок. Но какие-то настройки сервера перекрывают его.
Пока выяснилось вот что: выставляем значение Return-path на какое-нибудь мыло - mail_name@mydomain.com,
а вместо него попадает значение user@hostname.com - где user - это пользователь сервера и владелец домена hostname.com, а hostname.com - это основное имя сервера.
Какие могут быть варианты? Из-за чего перекрывается значение?

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35351
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Поля Return-path и Envelope-from не совпадают с полем From

Непрочитанное сообщение Alex Keda » 2009-04-13 8:17:39

lissyara писал(а):добавить в доверенные пользователи?
Убей их всех! Бог потом рассортирует...

deisler
рядовой
Сообщения: 35
Зарегистрирован: 2009-03-18 17:56:17

Re: Поля Return-path и Envelope-from не совпадают с полем From

Непрочитанное сообщение deisler » 2009-04-13 12:34:04

lissyara писал(а):добавить в доверенные пользователи?
В моей конфигурации exim и dovecot работают от mail:mail
dspam от dspam:dpam.
В конфиге dspam в доверенные пользователи добавлены:
Trust root
Trust dspam
Trust mail
Тем не менее, проблема с заголовками return_path и envelope-from имеется.
Я что-то упустил?

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35351
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Поля Return-path и Envelope-from не совпадают с полем From

Непрочитанное сообщение Alex Keda » 2009-04-13 21:25:08

тогда эмулируйте отправку и смотрите лог.
фиг знает что у вас не так =)
Убей их всех! Бог потом рассортирует...

Вуглускр
проходил мимо

Re: Поля Return-path и Envelope-from не совпадают с полем From

Непрочитанное сообщение Вуглускр » 2009-04-14 10:19:46

Нужно чтобы dspam запускался от доверенного юзера для exim-а. Иначе exim не дает менять envelope-from и return-path.
У себя еще продублировал параметром "-f $local_part@$domain" в транспорте при вызове дспама. Так, на всякий случай :-)

deisler
рядовой
Сообщения: 35
Зарегистрирован: 2009-03-18 17:56:17

Re: Поля Return-path и Envelope-from не совпадают с полем From

Непрочитанное сообщение deisler » 2009-04-14 16:35:27

Заметил интересную деталь.
Работа dspam у меня настроена через lmtp.
Когда в транспорте настроил работу через вызов бинарника:

Код: Выделить всё

dspam_spamcheck_transport:
   driver = pipe
   command = /usr/bin/dspam --deliver=innocent \
                --user "$local_part@$domain" -- %u
   user = dspam
   group = dspam
   return_path_add = false
   log_output = true
   return_fail_output = true
   headers_remove        = X-DSPAM-Result
Значения полей изменились на dspam@mydomain.ru
После изменений полей user и group в mail:mail, под которыми у меня работает exim, поля стали принимать нормальные значения, равными полю from.
При использовании транспорта, настроенным на работу через lmtp, даже с установленными user/group на mail:mail, значения полей Return-path и Envelope-from равны root@mydomain.com.
Хотелось бы пофиксить данную тему при работе с lmtp, т.к. хотелось бы, чтобы dspam работал в качестве демона.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35351
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Поля Return-path и Envelope-from не совпадают с полем From

Непрочитанное сообщение Alex Keda » 2009-04-14 20:17:20

в качестве демона оно от кого пашет?
Убей их всех! Бог потом рассортирует...

deisler
рядовой
Сообщения: 35
Зарегистрирован: 2009-03-18 17:56:17

Re: Поля Return-path и Envelope-from не совпадают с полем From

Непрочитанное сообщение deisler » 2009-04-15 13:21:36

В качестве демона работает под юзером dspam.

tester112
проходил мимо
Сообщения: 7
Зарегистрирован: 2009-10-30 10:22:46

Поля Return-path и Envelope-from не совпадают с полем From

Непрочитанное сообщение tester112 » 2015-02-27 17:53:32

Поздноватый ответ, но все же эта проблема решается правкой стартового скрипта, костыль конечно, но ничего друго не помогало, у меня dspam запущен сокетом в системе, правка make.conf чтобы владелец был не root не помогает, хотя владелец сокета меняется, однако письмо все равно от root приходит, пришлось сделать следующее:
1. Поставить sudo.
2. Исправить стартовый скрипт:

Код: Выделить всё

-command=/usr/local/bin/${name}
+command=/usr/local/bin/sudo
-command_args="--daemon --debug > /dev/null 2>&1 &"
+command_args="-u mailnull /usr/local/bin/${name} --daemon --debug > /dev/null 2>&1 &"
-command_args="--daemon > /dev/null 2>&1 &"
+command_args="-u mailnull /usr/local/bin/${name} --daemon > /dev/null 2>&1 &"
и добавить
procname="/usr/local/bin/dspam"
чтобы скрипт мог отслежаивать свое сотояние (чтобы работали restart, stop, status)потому что запущенная программа изменилась