URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 78083
[ Назад ]

Исходное сообщение
"'Подтверждение доставки' (DSN) в Exim"

Отправлено SUrov_IBM , 28-Дек-07 14:24 
Доброго времени суток.

При использовании exim'а, столкнулся с такой проблемой:

В почтовом клиенте устанавливаю "Подтверждение доставки", в итоге,
куда бы не отправил письмо, подтверждения нет. Поgoogle'ев нашел
идентичную проблему, но не ее решенее, вернее говорят что решение
есть, использовать exim-4.63 с наложением на него патча -
exim_463_dsn_1_3.patch для поддержки DSN,

exim.conf:

dest_delivery_int:
  driver = manualroute
  domains = +relay_to_domains
  condition = ${if eq {${lc:$sender_address_domain}}\
                                 {domain.com}\
                                 {yes}{no}\
                       }
  dsn_process
  hide route_data = ${lc:${extract{mailHost}{$address_data}{$value}{}}}
  transport = remote_smtp

Патч я нашел, а вот с exim-4.63 (exim-4.63.tar.bz2)просто засада
какая-та, нет нигде. Патч к более новым версиям, что официальном
сайте производителя не подходит. Может конечно у меня руки кривые,
кто сталкивался с подобным, помогите пожалуйста.


Содержание

Сообщения в этом обсуждении
"'Подтверждение доставки' (DSN) в Exim"
Отправлено Bosh , 28-Дек-07 16:28 
Подтверждения нет от кого ?  

>[оверквотинг удален]
>          
>}
>  dsn_process
>  hide route_data = ${lc:${extract{mailHost}{$address_data}{$value}{}}}
>  transport = remote_smtp
>
>Патч я нашел, а вот с exim-4.63 (exim-4.63.tar.bz2)просто засада
>какая-та, нет нигде. Патч к более новым версиям, что официальном
>сайте производителя не подходит. Может конечно у меня руки кривые,
>кто сталкивался с подобным, помогите пожалуйста.


"'Подтверждение доставки' (DSN) в Exim"
Отправлено Bosh , 28-Дек-07 16:34 
http://washitake.com/mail/exim/mirror/exim/exim4/exim-4.63.t...

>[оверквотинг удален]
>>          
>>}
>>  dsn_process
>>  hide route_data = ${lc:${extract{mailHost}{$address_data}{$value}{}}}
>>  transport = remote_smtp
>>
>>Патч я нашел, а вот с exim-4.63 (exim-4.63.tar.bz2)просто засада
>>какая-та, нет нигде. Патч к более новым версиям, что официальном
>>сайте производителя не подходит. Может конечно у меня руки кривые,
>>кто сталкивался с подобным, помогите пожалуйста.


"'Подтверждение доставки' (DSN) в Exim"
Отправлено SUrov_IBM , 28-Дек-07 20:31 
>http://washitake.com/mail/exim/mirror/exim/exim4/exim-4.63.t...

Огромное спасибо за ссылку, буду пробовать накатить exim_463_dsn_1_3.patch.

>Подтверждения нет от кого ?

До Exim'а у меня был Sendmail, как раз он и генерировал "Подтверждение
доставки" (DSN) в виде отдельного сообщения или же сообщение о неудаче,
Exim генерирует только сообщение о неудаче.
С Exim'мом я столкнулся впервые, поэтому может сам чего то не понимаю,
но в разных местах мне сказали что Exim не поддерживает DSN без патча.


"'Подтверждение доставки' (DSN) в Exim"
Отправлено ALex_hha , 08-Янв-08 14:05 
>но в разных местах мне сказали что Exim не поддерживает DSN без
>патча.

совершенно верно. Более того, для exim-4.63+ нет такого патча вообще. Старый не работает.


"'Подтверждение доставки' (DSN) в Exim"
Отправлено SUrov_IBM , 09-Янв-08 11:59 
>>но в разных местах мне сказали что Exim не поддерживает DSN без
>>патча.
>
>совершенно верно. Более того, для exim-4.63+ нет такого патча вообще. Старый не
>работает.

Собрал из исходников именно 4.63, предварительно пропатчив (патч лег успешно),
сам сервер заработал тоже успешно, но где в конфиге прикрутить использование
того что дал патч незнаю...


"'Подтверждение доставки' (DSN) в Exim"
Отправлено Cyrus_user , 09-Янв-08 07:51 
>но в разных местах мне сказали что Exim не поддерживает DSN без
>патча.

за 5 минут можно сделать DSN в exim используя для генерации события (событие по анализу заголовка) встроенный обработчик perl процедур.


"'Подтверждение доставки' (DSN) в Exim"
Отправлено SUrov_IBM , 09-Янв-08 11:45 
>>но в разных местах мне сказали что Exim не поддерживает DSN без
>>патча.
>
>за 5 минут можно сделать DSN в exim используя для генерации события
>(событие по анализу заголовка) встроенный обработчик perl процедур.

Вы бы не могли привести пример, просто я с Exim недавно,
для того что бы все работало пришлось собрать раннюю версию Exim из
исходников (на удивление даже нормально заработало), предварительно
накатив патч, но я там запутался с конфигом в месте поддержки этого
патча.
Заранее благодарен.


"'Подтверждение доставки' (DSN) в Exim"
Отправлено Cyrus_user , 09-Янв-08 14:06 
>[оверквотинг удален]
>>(событие по анализу заголовка) встроенный обработчик perl процедур.
>
>Вы бы не могли привести пример, просто я с Exim недавно,
>для того что бы все работало пришлось собрать раннюю версию Exim из
>
>исходников (на удивление даже нормально заработало), предварительно
>накатив патч, но я там запутался с конфигом в месте поддержки этого
>
>патча.
>Заранее благодарен.

может проще разобраться с патчем? :)
если вы не владеете базовыми понятиями, то с большой долей вероятности вы меня не поймёте. однако алгоритм примерно таков (cинтаксис требует правки, просто общий смысл):

выделяем получателя в свои переменные в acl_smtp_rcpt
warn
set acl_m0 = $local_part
set acl_m1 = $domain

например в  acl_smtp_mime выявим заголовки DSN и запустим событие
warn condition    = ${if or {{def:h_Disposition-Notification-To:}{def:h_Return-Receipt-To:}}{yes}{no}}
set acl_m3  = {perl{sub_dsn}}

пишем на перле процедурку, куда передаём интересующие параметры:
sub sub_dsn(){
my $rcpt = Exim::expand_string('$acl_m0\@$acl_m1');
my $date = Exim::expand_string('$h_date');
и тп.
используем любой любимый контруктор письма и делаем то, что получит запрашивающий dsn
самое простое:
system <echo "ваше сообщение было получено сервером получателя bla-bla"|mail $rcpt>; и возвращаем что удобно для статистики

где-то в удобном роутере вырезаем заголовки об DSN (если нужно)
headers_remove = "${if or {{def:h_Disposition-Notification-To:}{def:h_Return-Receipt-To:}}{yes}{no}}
{Disposition-Notification-To}{Return-Receipt-To}{}}"

вот собственно вкратце всё. удачи


"'Подтверждение доставки' (DSN) в Exim"
Отправлено Cyrus_user , 09-Янв-08 14:10 
да, забыл добавить, dsn на МТА по своей сути бесполезен. зачем уведомлять что сообщение было получено? ведь нет гарантии, что получатель прочитал письмо.

что сообщение было сервером получено можно и в логах своего глянуть :)


"'Подтверждение доставки' (DSN) в Exim"
Отправлено Bosh , 10-Янв-08 20:43 
Как-то  увидел что в этот пост кто-то пишет , решил добавить от себя.
У большинства  реальных почтовых серверов это вообще запрещено . Ибо - это первая помощь спамеру .
Вот сидит простой пацан и перебором по словарю смотрит есть такой юзер или нет.
Ну это в простом случае конечно.  
>да, забыл добавить, dsn на МТА по своей сути бесполезен. зачем уведомлять
>что сообщение было получено? ведь нет гарантии, что получатель прочитал письмо.
>
>
>что сообщение было сервером получено можно и в логах своего глянуть :)
>

"'Подтверждение доставки' (DSN) в Exim"
Отправлено Cyrus_user , 11-Янв-08 09:06 
>[оверквотинг удален]
>это первая помощь спамеру .
>Вот сидит простой пацан и перебором по словарю смотрит есть такой юзер
>или нет.
>Ну это в простом случае конечно.
>>да, забыл добавить, dsn на МТА по своей сути бесполезен. зачем уведомлять
>>что сообщение было получено? ведь нет гарантии, что получатель прочитал письмо.
>>
>>
>>что сообщение было сервером получено можно и в логах своего глянуть :)
>>

Я так не думаю.. в чём смысл коллекционировать ответы DSN и по ним проводить стат. пользователей? Гораздо проще скрипт делающий бесконечный:
rcpt to:
и на основе ответа сервера создающий списки. Однако, КПД тут ничтожен и таким перебором  "есть-нет" занимаются имхо пионерские ботнеты, а нормальные спамеры покупают базы пользователей, делают троянов сливающие адресные книги и тп.


"'Подтверждение доставки' (DSN) в Exim"
Отправлено GR , 11-Янв-08 18:28 
>Гораздо проще скрипт делающий бесконечный:
>rcpt to:
>и на основе ответа сервера создающий списки.

Не дури - даже exchange умеет tarpitting, про более нормальные сервера - вообще молчу ,)


"'Подтверждение доставки' (DSN) в Exim"
Отправлено Cyrus_user , 14-Янв-08 06:29 
>>Гораздо проще скрипт делающий бесконечный:
>>rcpt to:
>>и на основе ответа сервера создающий списки.
>
>Не дури - даже exchange умеет tarpitting, про более нормальные сервера -
>вообще молчу ,)

:)


"'Подтверждение доставки' (DSN) в Exim"
Отправлено Repairman , 18-Апр-09 15:28 
Появился DSN patch для последнего exim'а (4.69)

http://sourceforge.net/projects/eximdsn/


"'Подтверждение доставки' (DSN) в Exim"
Отправлено dinn2 , 17-Янв-11 00:56 
Подскажите есть ли простой способ добавить патч в этот пакет ftp://ftp.pbone.net/mirror/ftp.centos.org/5.5/updates/SRPMS/...
патч http://sourceforge.net/projects/eximdsn/files/eximdsn/eximds...