forum.wfido.ru

forum.wfido.ru (http://forum.wfido.ru/index.php)
-   RU.HUSKY (http://forum.wfido.ru/forumdisplay.php?f=80)
-   -   Технический поинт hpt (http://forum.wfido.ru/showthread.php?t=53118)

Vladimir Fyodorov 12.08.2018 14:42

Re: Технический поинт hpt
 
Vladimir Fyodorov написал(а) к Anton Ryzhkov в Aug 18 13:28:04 по местному времени:

Разнообразно приветствую!

AR>>> Забыл, в sub route() еще такая фигня в начале есть:
VF>> Сорри, а это куда писать? Я в перле вообще ничего не понимаю,
VF>> думал, в твоём примере только свои адреса подставить, а тут уже я
VF>> в растерянности.
AR> В самое начало sub route(). Как-то так:

Спасибо, поэкспериментирую на досуге.

--
Всяческих благ. Искренне Ваш, Vladimir Fyodorov, эсквайр.
... Пропала несущая? Заплатите налоги!
--- Нotdoged/2.13.5/Android

Pavel Sizykh 20.05.2019 16:13

Re: Технический поинт hpt
 
Pavel Sizykh написал(а) к Anton Ryzhkov в May 19 21:43:40 по местному времени:


Привет, Anton!

Ответ на сообщение Anton Ryzhkov (2:5030/1081.1) к Kirill Temnenkov, написанное 11 Aug 18 в 21:08:

AR> Я сделал по примеру из местного фака. Вроде бы. Или еще откуда-то.
AR> Но мне нужно было два поинта - один на ноуте, второй на телефоне.
AR> Работает.

AR> В filter.pl добавил

AR> sub filter {
AR> if (($area eq "") && ($toaddr eq "2:5030/1081" || $toaddr eq
AR> "2:5030/1081.1" || $toaddr eq "2:5030/1081.2") && ($toname ne
AR> "AreaFix") && ($toname ne "FileFix")) {
AR> $msgtext = $text;
AR> $msgtext =~ s/\x01/@/g;
AR> $msgtext =~ s/\r--- /\r-=- /g;
AR> $msgtext =~ s/\r\ \* Origin: /\r + Origin: /g;
AR> $msgtext="\r$msgtext\r--- Forward Bot\r * Origin: -
AR> (2:5030/1081)\r";
AR> if ($toaddr eq "2:5030/1081") {

AR> putMsgInArea("",$fromname,$toname.".0",$fromaddr,"2:5030/1081.1",$s
AR> ubject,$date,"Pvt K/s",$msgtext,0);

AR> putMsgInArea("",$fromname,$toname.".0",$fromaddr,"2:5030/1081.2",$s
AR> ubject,$date,"Pvt K/s",$msgtext,0);
AR> }
AR> if ($toaddr eq "2:5030/1081.1") {

AR> putMsgInArea("",$fromname,$toname.".0",$fromaddr,"2:5030/1081.2",$s
AR> ubject,$date,"Pvt K/s",$msgtext,0);
AR> }
AR> if ($toaddr eq "2:5030/1081.2") {

AR> putMsgInArea("",$fromname,$toname.".0",$fromaddr,"2:5030/1081.1",$s
AR> ubject,$date,"Pvt K/s",$msgtext,0);
AR> }
AR> }
AR> }
AR> sub route() {
AR> if (($from eq "2:5030/1081.1" || $from eq "2:5030/1081.2") &&
AR> ($addr ne "2:5030/1081")) {
AR> $from = '2:5030/1081.0';
AR> $msgtext = $text;
AR> $msgtext =~ s/\x01FMPT.*?\r//g;
AR> $msgtext =~ s/\x01Via 2:5030\/1081\.\d.*?\r//g;
AR> $msgtext =~ s/2:5030\/1081.1/2:5030\/1081/g;
AR> $msgtext =~ s/2:5030\/1081.2/2:5030\/1081/g;
AR> $text = $msgtext;
AR> $change = 1;
AR> return $RouteAddr;
AR> }
AR> }

Почему-то нетмей после такого скрипта НotDogEd отказывается показывать. Хотя hpt такие письма переваривает и голдед потом их показывает. Значит получаемые письма нарушают стандарт?

/grf

--- GoldED+/W64-MSVC 1.1.5-b20170303

Brother Rabbit 22.05.2019 09:43

Технический поинт hpt
 
Brother Rabbit написал(а) к Pavel Sizykh в May 19 08:18:28 по местному времени:

Нi, Pavel!

20 май 19 21:43, Pavel Sizykh -> Anton Ryzhkov:

AR>> Я сделал по примеру из местного фака. Вроде бы. Или еще откуда-то.
AR>> Но мне нужно было два поинта - один на ноуте, второй на телефоне.
AR>> Работает.

AR>> В filter.pl добавил

AR>> sub filter {

[...skipped...]

AR>> }

PS> Почему-то нетмей после такого скрипта НotDogEd отказывается показывать.
PS> Хотя hpt такие письма переваривает и голдед потом их показывает. Значит
PS> получаемые письма нарушают стандарт?

Если я правильно понял, что этот скрипт хотел сделать, то вот так:

our @my_aka = qw(
2:460/5858
2:460/58.58
2:460/58.10
);


sub filter()
{
if (!defined $area) {
if ( istous($toaddr) == 1 || istoaka($toaddr) == 1 ) {
copynetmail($fromaddr, $fromname, $toaddr, $toname, $subject,
$date, $attr, $text) if !istorobots($toname);
}
}

undef $change if $kill;
return '';
}


sub copynetmail($$$$$$$$)
{
local ($from[b]addr, $from_name, $to_addr, $to_name, $subj_ect, $mdate, $mattr, $mtext) = @[/b];
$mtext =~ s/\x01INTL \d+\:\d+\/\d+ \d+\:\d+\/\d+\r//;
$mtext =~ s/\x01TOPT \d+\r//;
for my $d[b]addrr (@my[/b]aka){
if ( $from[b]addr ne $d_addrr && $to_addr ne $d[/b]addrr) {
putMsgInArea( "NetMail", $from[b]name, $to_name, $from[/b]addr,
$d[b]addrr, $subj[/b]ect, $mdate, $mattr,
"\001Rem: copy to $d_addrr\r$mtext", 2 );
}
}
}


sub istoaka($)
{
local ($addrr) = @_;
for my $d[b]addr (@my[/b]aka){
if( $addrr eq $d_addr) {
return 1;
}
}
return 0;
}


sub istous($)
{
my ( $addrr ) = @_;
for my $cfg_addr ( @{$config{addr}} ) {
if( $addrr eq $cfg_addr ) {
return 1;
}
}
return 0;
}

sub istorobots($)
{
my ($name) = @_;
for my $cfg_name ( @{$config{areafixNames}} ) {
if( $name eq $cfg_name ) {
return 1;
}
}
return 0;
}


Нave nice nights.
Brother Rabbit.

--- Муж без жены - как дуб без дятла.

Brother Rabbit 22.05.2019 09:51

Технический поинт hpt
 
Brother Rabbit написал(а) к Pavel Sizykh в May 19 08:33:12 по местному времени:

Нi, Pavel!

20 май 19 21:43, Pavel Sizykh -> Anton Ryzhkov:

AR>> Я сделал по примеру из местного фака. Вроде бы. Или еще откуда-то.
AR>> Но мне нужно было два поинта - один на ноуте, второй на телефоне.
AR>> Работает.

AR>> В filter.pl добавил

AR>> sub filter {

[...skipped...]

AR>> }

PS> Почему-то нетмей после такого скрипта НotDogEd отказывается показывать.
PS> Хотя hpt такие письма переваривает и голдед потом их показывает. Значит
PS> получаемые письма нарушают стандарт?

Если я правильно понял, что этот скрипт хотел сделать, то вот так:

# адреса, на которых хотим читать копии нетмейла.
# Не равны адресу узла в конфиге!

our @my_aka = qw(
2:460/5858
2:460/58.58
2:460/58.10
);


sub filter()
{
if (!defined $area) {
if ( istous($toaddr) == 1 || istoaka($toaddr) == 1 ) {
copynetmail($fromaddr, $fromname, $toaddr, $toname, $subject,
$date, $attr, $text) if !istorobots($toname);
}
}

undef $change if $kill;
return '';
}


sub copynetmail($$$$$$$$)
{
local ($from[b]addr, $from_name, $to_addr, $to_name, $subj_ect, $mdate, $mattr, $mtext) = @[/b];

$mtext =~ s/\x01INTL \d+\:\d+\/\d+ \d+\:\d+\/\d+\r//;
$mtext =~ s/\x01TOPT \d+\r//;
for my $d[b]addrr (@my[/b]aka){
if ( $from[b]addr ne $d_addrr && $to_addr ne $d[/b]addrr) {
putMsgInArea( "NetMail", $from[b]name, $to_name, $from[/b]addr,
$d[b]addrr, $subj[/b]ect, $mdate, $mattr,
"\001Rem: copy to $d_addrr\r$mtext", 2 );
}
}
}


sub istoaka($)
{
local ($addrr) = @_;
for my $d[b]addr (@my[/b]aka){
if( $addrr eq $d_addr) {
return 1;
}
}
return 0;
}


sub istous($)
{
my ( $addrr ) = @_;
for my $cfg_addr ( @{$config{addr}} ) {
if( $addrr eq $cfg_addr ) {
return 1;
}
}
return 0;
}

sub istorobots($)
{
my ($name) = @_;
for my $cfg_name ( @{$config{areafixNames}} ) {
if( $name eq $cfg_name ) {
return 1;
}
}
return 0;
}

Дойдут руки, оформлю, как положено, и выложу на гитхаб.

Нave nice nights.
Brother Rabbit.

--- Муж без жены - как дуб без дятла.

Pavel Sizykh 22.05.2019 14:43

Re: Технический поинт hpt
 
Pavel Sizykh написал(а) к Brother Rabbit в May 19 20:25:38 по местному времени:


Привет, Brother!

BR> Дойдут руки, оформлю, как положено, и выложу на гитхаб.

Гран мерси, все заработало :)

/grf

--- GoldED+/W64-MSVC 1.1.5-b20170303

Brother Rabbit 23.05.2019 21:32

Технический поинт hpt
 
Brother Rabbit написал(а) к Pavel Sizykh в May 19 20:14:14 по местному времени:

Нi, Pavel!

22 май 19 20:25, Pavel Sizykh -> Brother Rabbit:

BR>> Дойдут руки, оформлю, как положено, и выложу на гитхаб.

PS> Гран мерси, все заработало :)

Та не за что. ;)

Нave nice nights.
Brother Rabbit.

--- Ругаться матом нехорошо... Но называть вещи своими именами необходимо.


Текущее время: 16:49. Часовой пояс GMT +4.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot