exim. Выполнение внешнего скрипта или как лучше организовать

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

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
coDEbugger
проходил мимо
Сообщения: 9
Зарегистрирован: 2009-01-11 16:24:50

exim. Выполнение внешнего скрипта или как лучше организовать

Непрочитанное сообщение coDEbugger » 2009-04-01 16:27:32

Доброго времени суток. Проблема следующая - от человека А приходит письмо на сервер. Ему отсылается автоматически сообщение от exim'a чтобы он переотправил сообщение, дабы доказать, что не является спамером. После чего он добавляется в white list и последующие письма от него просто обрабатываются антиспамом(dspam) и пропускаются. Написал скрипт для этой задачи

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

#!/usr/bin/perl -w
use strict;
use DBI;

my $database = "exim";
my $hostname = "localhost";
my $port = "3306";
my $user = "root";
my $password = "xxx";

my $dsn = "DBI:mysql:database=$database;host=$hostname;port=$port";
my $dbh = DBI->connect($dsn, $user, $password);

my $sth = $dbh->prepare("SELECT * FROM lists WHERE address = '$ARGV[0]'");
$sth->execute();
my $row = $sth->fetchrow_hashref();

if( $row->{'address'} ) {
        unless( $row->{'isValid'} ) {
                $dbh->do("UPDATE lists SET isValid = 1 WHERE id = '$row->{'id'}'");
        }
        exit 1;
} else {
        $dbh->do("INSERT INTO lists(address,isValid) VALUES('$ARGV[0]',0)");
        exit 0;
}
1. Как в exim вызвать этот скрипт с параметром - адрес отправителя?
2. Как проанализировать ответ от скрипта (1 или 0) и принять решение - отправить ли пользователю сообщение с запросом повторной посылки письма или нет?

Хостинговая компания 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/

nixsupport
рядовой
Сообщения: 32
Зарегистрирован: 2008-08-01 21:53:38

Re: exim. Выполнение внешнего скрипта или как лучше организовать

Непрочитанное сообщение nixsupport » 2009-04-02 14:11:30

всё это легко(с доработкой скрипта, а именно нужный код perl сделать функцией) можно вызвать в условии condition и там же передать параметр(только по большей степени передавать параметры ненужно perl в связке с exim сам знает многие переменные) и получить то что возвращает функция в скрипте.
Посмотри доки там написано, правдо маловато, но всё же, и ещё посмотри по форуму, в данном случае даже необязательно использовать perl чтобы зделать то что ты хочешь.

Аватара пользователя
Morty
ст. лейтенант
Сообщения: 1370
Зарегистрирован: 2007-07-17 23:25:12

Re: exim. Выполнение внешнего скрипта или как лучше организовать

Непрочитанное сообщение Morty » 2009-04-02 15:58:17

класная мысль ))
чем-то схожа с проверкой получателя в своей базе , но умнее

nixsupport
рядовой
Сообщения: 32
Зарегистрирован: 2008-08-01 21:53:38

Re: exim. Выполнение внешнего скрипта или как лучше организовать

Непрочитанное сообщение nixsupport » 2009-04-02 17:25:06

Для кого как мысль, этож типа грейлистинга тока фактически письмо надо вручную посылать, когда при грейлистинге повтор доставки осуществляется сервером, короче у данного метода больше недостатков чем преимуществ, как я писал выше всё это легко реализовать средствами самого экзима, но смысла я в этом невижу.

ПЫСЫ. Копайте роутеры, в частности пример vacation посмотрите.

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

Re: exim. Выполнение внешнего скрипта или как лучше организовать

Непрочитанное сообщение Laa » 2009-04-08 9:57:08

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