Доброго времени суток.При использовании 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_process
> hide route_data = ${lc:${extract{mailHost}{$address_data}{$value}{}}}
> transport = remote_smtp
>
>Патч я нашел, а вот с exim-4.63 (exim-4.63.tar.bz2)просто засада
>какая-та, нет нигде. Патч к более новым версиям, что официальном
>сайте производителя не подходит. Может конечно у меня руки кривые,
>кто сталкивался с подобным, помогите пожалуйста.
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)просто засада
>>какая-та, нет нигде. Патч к более новым версиям, что официальном
>>сайте производителя не подходит. Может конечно у меня руки кривые,
>>кто сталкивался с подобным, помогите пожалуйста.
>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 без патча.
>но в разных местах мне сказали что Exim не поддерживает DSN без
>патча.совершенно верно. Более того, для exim-4.63+ нет такого патча вообще. Старый не работает.
>>но в разных местах мне сказали что Exim не поддерживает DSN без
>>патча.
>
>совершенно верно. Более того, для exim-4.63+ нет такого патча вообще. Старый не
>работает.Собрал из исходников именно 4.63, предварительно пропатчив (патч лег успешно),
сам сервер заработал тоже успешно, но где в конфиге прикрутить использование
того что дал патч незнаю...
>но в разных местах мне сказали что Exim не поддерживает DSN без
>патча.за 5 минут можно сделать DSN в exim используя для генерации события (событие по анализу заголовка) встроенный обработчик perl процедур.
>>но в разных местах мне сказали что Exim не поддерживает DSN без
>>патча.
>
>за 5 минут можно сделать DSN в exim используя для генерации события
>(событие по анализу заголовка) встроенный обработчик perl процедур.Вы бы не могли привести пример, просто я с Exim недавно,
для того что бы все работало пришлось собрать раннюю версию Exim из
исходников (на удивление даже нормально заработало), предварительно
накатив патч, но я там запутался с конфигом в месте поддержки этого
патча.
Заранее благодарен.
>[оверквотинг удален]
>>(событие по анализу заголовка) встроенный обработчик 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 на МТА по своей сути бесполезен. зачем уведомлять что сообщение было получено? ведь нет гарантии, что получатель прочитал письмо.что сообщение было сервером получено можно и в логах своего глянуть :)
Как-то увидел что в этот пост кто-то пишет , решил добавить от себя.
У большинства реальных почтовых серверов это вообще запрещено . Ибо - это первая помощь спамеру .
Вот сидит простой пацан и перебором по словарю смотрит есть такой юзер или нет.
Ну это в простом случае конечно.
>да, забыл добавить, dsn на МТА по своей сути бесполезен. зачем уведомлять
>что сообщение было получено? ведь нет гарантии, что получатель прочитал письмо.
>
>
>что сообщение было сервером получено можно и в логах своего глянуть :)
>
>[оверквотинг удален]
>это первая помощь спамеру .
>Вот сидит простой пацан и перебором по словарю смотрит есть такой юзер
>или нет.
>Ну это в простом случае конечно.
>>да, забыл добавить, dsn на МТА по своей сути бесполезен. зачем уведомлять
>>что сообщение было получено? ведь нет гарантии, что получатель прочитал письмо.
>>
>>
>>что сообщение было сервером получено можно и в логах своего глянуть :)
>>Я так не думаю.. в чём смысл коллекционировать ответы DSN и по ним проводить стат. пользователей? Гораздо проще скрипт делающий бесконечный:
rcpt to:
и на основе ответа сервера создающий списки. Однако, КПД тут ничтожен и таким перебором "есть-нет" занимаются имхо пионерские ботнеты, а нормальные спамеры покупают базы пользователей, делают троянов сливающие адресные книги и тп.
>Гораздо проще скрипт делающий бесконечный:
>rcpt to:
>и на основе ответа сервера создающий списки.Не дури - даже exchange умеет tarpitting, про более нормальные сервера - вообще молчу ,)
>>Гораздо проще скрипт делающий бесконечный:
>>rcpt to:
>>и на основе ответа сервера создающий списки.
>
>Не дури - даже exchange умеет tarpitting, про более нормальные сервера -
>вообще молчу ,):)
Появился DSN patch для последнего exim'а (4.69)
Подскажите есть ли простой способ добавить патч в этот пакет ftp://ftp.pbone.net/mirror/ftp.centos.org/5.5/updates/SRPMS/...
патч http://sourceforge.net/projects/eximdsn/files/eximdsn/eximds...