И всё прочее, что касается HTML
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
Alex Keda
- стреляли...
- Сообщения: 35466
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2010-09-07 18:57:44
ковыряю perl совместно с exim
надо разобрать адрес который содержится в поле
содержаться там может что-то типа
или любые комбинации перечисленного через запятую.
собсно - проблем особых нету, но вот думаю - не велосипед ли я изобретаю? может уже модуль какойнить есть?
Убей их всех! Бог потом рассортирует...
Alex Keda
-
Хостинг HostFood.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/
-
hizel
- дядя поня
- Сообщения: 9032
- Зарегистрирован: 2007-06-29 10:05:02
- Откуда: Выборг
Непрочитанное сообщение
hizel » 2010-09-07 19:04:36
велосипед, посмотри на cpan, Luke
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.
hizel
-
Alex Keda
- стреляли...
- Сообщения: 35466
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2010-09-07 19:34:33
http://cpansearch.perl.org/src/RJBS/Ema ... 892/README
нашёл. решило 90% моих проблем сразу
вот тока не могу понять как вычленить этой штукой адрес типа
vasya@domain.su из той галиматьи что на входе
(щас уже обкоцал до одного адреса - мне нужен тока этот случай)
Код: Выделить всё
# get destination address
my @addresses = Email::Address->parse($dst_addrr);
#my $addr_spec = $Email::Address::addr_spec;
$num_mails = scalar @addresses;
print LOGFILE "num adresses = " . $num_mails . "\n";
# how many adresses?
if ( $num_mails eq "1" )
{
# get address
$dst_addrr = $addresses[0];
#my $host = $address->host;
#my $user = $address->user;
$dst_addrr =~ $Email::Address::addr_spec;
print LOGFILE "found address = " . $dst_addrr . "\n";
некатит. печатает в лог "Василий Пупкин" <
vasya@domain.su>
Убей их всех! Бог потом рассортирует...
Alex Keda
-
hizel
- дядя поня
- Сообщения: 9032
- Зарегистрирован: 2007-06-29 10:05:02
- Откуда: Выборг
Непрочитанное сообщение
hizel » 2010-09-07 20:05:45
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.
hizel
-
Alex Keda
- стреляли...
- Сообщения: 35466
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2010-09-07 20:11:26
индейское жилищще
Убей их всех! Бог потом рассортирует...
Alex Keda
-
hizel
- дядя поня
- Сообщения: 9032
- Зарегистрирован: 2007-06-29 10:05:02
- Откуда: Выборг
Непрочитанное сообщение
hizel » 2010-09-07 20:34:51
хз
Код: Выделить всё
#!/usr/bin/env perl
use Email::Address;
use strict;
my $dst_addr = 'Gans Otto <olo@fuck.com>';
my @address = Email::Address->parse($dst_addr);
print $address[0]->address, "\n";
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.
hizel
-
hizel
- дядя поня
- Сообщения: 9032
- Зарегистрирован: 2007-06-29 10:05:02
- Откуда: Выборг
Непрочитанное сообщение
hizel » 2010-09-07 21:04:37
ну взял и чо
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.
hizel
-
thefree
- лейтенант
- Сообщения: 980
- Зарегистрирован: 2008-12-29 9:23:19
- Откуда: Весёлая Страна
Непрочитанное сообщение
thefree » 2010-09-07 23:09:17
а то, что там в двойных кавычках @
===
use Data::Dumper;
print Dumper(@addresses);
Не судите меня строго, Я не волшебник, а только учусь!
http://planetbsd.ru - RSS-агрегатор *BSD по Рунету
thefree
-
hizel
- дядя поня
- Сообщения: 9032
- Зарегистрирован: 2007-06-29 10:05:02
- Откуда: Выборг
Непрочитанное сообщение
hizel » 2010-09-08 7:12:51
что сказать то хотел?
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.
hizel
-
Tuchka
- рядовой
- Сообщения: 23
- Зарегистрирован: 2008-09-19 7:54:52
-
Контактная информация:
Непрочитанное сообщение
Tuchka » 2010-09-08 14:07:05
hizel писал(а):что сказать то хотел?
Наверно про интерполяцию переменных хотел сказать. Что массив у тебя будет подставляться. Хотя в чем проблема я пока из обсуждения тоже не уловила
Tuchka
-
Гость
- проходил мимо
Непрочитанное сообщение
Гость » 2010-09-08 14:15:47
судя по
hizel писал(а):$dst_addrr->address;
Alex Keda писал(а):индейское жилищще
логично предположить что разница только в кавычках
AlexKeda писал(а):некатит. печатает в лог "Василий Пупкин" <
vasya@domain.su>
а работает у лиса или нет он уже не сказал
полагаю что не работает
а пример с кавычками хизель не продемонстрировал
Гость
-
hizel
- дядя поня
- Сообщения: 9032
- Зарегистрирован: 2007-06-29 10:05:02
- Откуда: Выборг
Непрочитанное сообщение
hizel » 2010-09-08 14:26:16
пример с кавычками работает, демонстрировать его нет нужды
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.
hizel
-
Alex Keda
- стреляли...
- Сообщения: 35466
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2010-09-08 15:07:40
всем сорри, заработало
сказалось моё незнание синтаксиса perl
Код: Выделить всё
mx# vim /tmp/functions.pl
#!/usr/bin/perl -w
# подрубаем мусю /usr/ports/databases/p5-DBD-mysql50
use DBI;
use Email::Address;
# search and return rewritten email address
sub mysql_rewrite {
my ($search_addr, $dst_addrr) = @_;
print "$search_addr -> $dst_addrr\n";
# get destination address
my @addresses = Email::Address->parse($dst_addrr);
#my $addr_spec = $Email::Address::addr_spec;
$num_mails = scalar @addresses;
print "num adresses = " . $num_mails . "\n";
# how many adresses?
if ( $num_mails eq "1" )
{
# get address
$dst_addrr = $addresses[0];
#$dst_addrr =~ $Email::Address::angle_addr;
$dst_addrr = $dst_addrr->address;
print "found address = " . $dst_addrr . "\n";
}
return $dst_addrr;
} # end mysql_rewrite
#sub check
print mysql_rewrite ('petrov@isp.su','"А. Кеда" <akeda@isp.su>') . "\n";
Код: Выделить всё
mx# /tmp/functions.pl
petrov@isp.su -> "А. Кеда" <akeda@isp.su>
num adresses = 1
found address = akeda@isp.su
akeda@isp.su
mx#
Убей их всех! Бог потом рассортирует...
Alex Keda
-
hizel
- дядя поня
- Сообщения: 9032
- Зарегистрирован: 2007-06-29 10:05:02
- Откуда: Выборг
Непрочитанное сообщение
hizel » 2010-09-08 15:15:28
так не должно быть, по RFC там должон быть что то типа
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.
hizel
-
Alex Keda
- стреляли...
- Сообщения: 35466
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2010-09-08 15:30:17
это адрес внутри exim
он уже расчленил ваш rfc
Убей их всех! Бог потом рассортирует...
Alex Keda
-
hizel
- дядя поня
- Сообщения: 9032
- Зарегистрирован: 2007-06-29 10:05:02
- Откуда: Выборг
Непрочитанное сообщение
hizel » 2010-09-08 15:33:35
а, ну ок, чо :}
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.
hizel