abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 01:44 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.

    Ladislav Hagara | Komentářů: 0
    21.3. 23:11 | Nová verze

    Byla vydána nová verze 0.4.15 (𝕏) svobodného operačního systému ReactOS (Wikipedie), jehož cílem je kompletní binární kompatibilita s aplikacemi a ovladači pro Windows. Přehled novinek i s náhledy v oznámení o vydání.

    Ladislav Hagara | Komentářů: 8
    21.3. 16:44 | Zajímavý software

    Byl představen rpi-image-gen, tj. oficiální nástroj pro vytváření vlastních softwarových obrazů pro zařízení Raspberry Pi.

    Ladislav Hagara | Komentářů: 0
    21.3. 12:44 | Nová verze

    Byla vydána nová major verze 8.0, aktuálně 8.0.1, softwaru pro správu elektronických knih Calibre (Wikipedie). Přehled novinek v poznámkách k vydání. Vypíchnuta je lepší podpora Kobo KEPUB formátu nebo integrovaný lokálně běžící engine Piper pro převod textu na řeč používaný pro čtení nahlas (již od verze 7.18).

    Ladislav Hagara | Komentářů: 0
    21.3. 05:22 | IT novinky

    Společnost OpenAI rozšířila své API o nové audio modely. Nový model pro převod textu na řeč (text-to-speech model) lze bez přihlašování vyzkoušet na stránce OpenAI.fm.

    Ladislav Hagara | Komentářů: 2
    20.3. 21:33 | Zajímavý článek

    Příspěvek Bezpečnost paměti pro webové fonty na blogu Chrome pro vývojáře rozebírá, proč se pro zpracování webových fontů v Chrome místo FreeType nově používá v Rustu napsaná Skrifa z Fontations.

    Ladislav Hagara | Komentářů: 0
    20.3. 15:22 | Komunita

    V pátek 21. a v sobotu 22. března proběhnou Arduino Days 2025, tj. každoroční „narozeninová oslava“ platformy Arduino. Na programu je řada zajímavých přednášek. Sledovat je bude možné na YouTube. Zúčastnit se lze i lokálních akcí. V sobotu v Praze na Matfyzu.

    Ladislav Hagara | Komentářů: 0
    20.3. 11:00 | Pozvánky

    Komunitná konferencia Bratislava OpenCamp, ktorá sa uskutoční už o tri týždne 5. 4. 2025 na FIIT STU pozná svoj program – návštevníkom ponúkne 3 paralelné behy prednášok a workshopov na rôzne témy týkajúce sa otvoreného softvéru či otvorených technológií.

    Ladislav Hagara | Komentářů: 0
    20.3. 05:11 | Zajímavý článek

    Časopis MagPi od nakladatelství Raspberry Pi se s číslem 151 přejmenoval na Raspberry Pi Official Magazine. I pod novým názvem zůstává nadále ve formátu pdf zdarma ke čtení.

    Ladislav Hagara | Komentářů: 0
    20.3. 01:55 | IT novinky

    Japonská SoftBank Group kupuje firmu Ampere Computing za 6,5 miliardy dolarů. Ampere Computing vyrábí 32-128jádrové procesory Ampere Altra a 192jádrové procesory AmpereOne.

    Ladislav Hagara | Komentářů: 17
    Jaké je vaše preferované prostředí?
     (27%)
     (1%)
     (1%)
     (2%)
     (1%)
     (1%)
     (64%)
     (2%)
    Celkem 201 hlasů
     Komentářů: 6, poslední 21.3. 11:15
    Rozcestník

    Dotaz: Debian, postfix, forwarding + autoresponding

    23.8.2023 20:04 semtex | skóre: 24 | blog: semtex
    Debian, postfix, forwarding + autoresponding
    Přečteno: 439×
    Zdravím kolegové.

    Řeším následující problém s automatickou odpovědí. Tu mám řešenou přes sql a skript a funguje spolehlivě.

    V master.cf mám následující:

    autoresponder unix - n n - - pipe flags= user=nobody argv=/usr/local/sbin/autoreply/autoreply.pl $sender $mailbox

    Skript se podívá do sql databáze, zda příjemce mailu má aktivní automatickou odpověď a zda již odesílateli tuto odpověď již v minulosti neposlal a pak pošle autoreply. Nicméně dále mám ještě přes /etc/postfix/mysql-virtual.cf nadefinované mimojiné forwardy. A to konkrétně:
    email=jmeno@mojedomena.cz
    destination=jmeno@mojedomena.cz, kolega@mojedomena.cz
    Tím sice docílím toho, že mail je doručen do "mojí" schránky i do schránky kolegy, ale autoresponder v tomto případě nepředá skriptu v proměnné $mailbox jmeno@mojedomena.cz, ale kolega@mojedomena.cz.

    Poradí někdo, jak docílit toho, aby v tomto případě předal skriptu adresu jmeno@mojedomena.cz? Díky.

    Řešení dotazu:


    Odpovědi

    24.8.2023 09:17 GeorgeWH | skóre: 42
    Rozbalit Rozbalit vše Re: Debian, postfix, forwarding + autoresponding
    Vymen poradie mailov v destination.
    24.8.2023 10:25 semtex | skóre: 24 | blog: semtex
    Rozbalit Rozbalit vše Re: Debian, postfix, forwarding + autoresponding
    To jsem zkoušel a výsledek je stejný.
    24.8.2023 09:37 X
    Rozbalit Rozbalit vše Re: Debian, postfix, forwarding + autoresponding
    ${mailbox}
                         This macro expands to the complete local part of a recip-
                         ient   address.    For   example,   with    an    address
                         user+foo@domain the mailbox is user+foo.
    
                         A  command-line argument that contains ${mailbox} expands
                         to as many command-line arguments as  there  are  recipi-
                         ents.
    Ukaz ten skript autoreply.pl. Hadam, ze skript spatne prebira nebo zpracovava vsechny parametry.
    24.8.2023 10:32 semtex | skóre: 24 | blog: semtex
    Rozbalit Rozbalit vše Re: Debian, postfix, forwarding + autoresponding
    Ahoj, toto je zmiňovaný skript:
    #!/usr/bin/perl
    
    use DBI;
    use Mail::Mailer;
    use MIME::Words qw(:all);
    
    open CONF, "/usr/local/sbin/autoreply/db.conf";
    #open LOG, ">/tmp/mailreply.txt";
    
    while ($radek= {CONF}) {
        chomp($radek);
        {
            $radek=~m/^(\w+)\s+(\S+).*$/;
            $conf{$1}=$2;
        }
    }
    
    close CONF;
    
    $email=$ARGV[0];
    $emailto=$ARGV[1];
    
    #print LOG $email."\n";
    #print LOG $emailto."\n";
    
    @cas = localtime(time);
    $year = 1900 + @cas[5];
    $mon = "0".(1 + @cas[4]);
    $day = @cas[3];
    $hour = @cas[2];
    $min = @cas[1];
    $sec = @cas[0];
    $datum = sprintf("%04d%02d%02d%02d%02d%02d", $year, $mon, $day, $hour, $min, $sec);
    
    $dsn = "DBI:mysql:database=$conf{database};host=$conf{server};port=$conf{port}";
    $reply = DBI -> connect($dsn , $conf{username} , $conf{password});
    die "$DBI::errstr" if $DBI::err;
    
    $setlatin = $reply -> prepare("SET character_set_results=latin2");
    $setlatin -> execute();
    $setlatin = $reply -> prepare("SET character_set_connection=latin2");
    $setlatin -> execute();
    $setlatin = $reply -> prepare("SET character_set_client=latin2");
    $setlatin -> execute();
    
    $select = $reply -> prepare("select id,recipient,Subject,message from autoreply where recipient='$emailto' and valid_from<'$datum' and valid_to>'$datum'");
    $select -> execute();
    die "$DBI::errstr" if $DBI::err;
    
    while (($id,$recipient,$Subject,$message) = $select -> fetchrow()) {
    
        $poslano = $reply -> prepare("select id from autoreply_sent where replyid=$id and mail_from='$email'");
        $poslano -> execute();
        die "$DBI::errstr" if $DBI::err;
        $rownumber = $poslano -> rows();
    
        if ($rownumber == 0) {
            printf "Bude poslana zprava na mail ".$email." ve zneni ".$message;
    
            my $mailer = Mail::Mailer->new("sendmail");
            my $charset = 'ISO-8859-2';
            my $mailmssg = $message;
            $mailer->open({From     => $emailto,
                            To      => $email,
                            Subject => encode_mimewords($Subject, Charset => $charset),
                            'MIME-Version' => '1.0',
                            'Content-Type' => "text/plain; charset=$charset",
                            'Content-Transfer-Encoding' => '8bit',
                            });
            print $mailer $mailmssg;
            $mailer -> close();
    
            $poslano = $reply -> prepare("insert into autoreply_sent (replyid, mail_from) values('$id', '$email')");
            $poslano -> execute();
            die "$DBI::errstr" if $DBI::err;
        }
    
    }
    
    24.8.2023 15:10 X
    Rozbalit Rozbalit vše Re: Debian, postfix, forwarding + autoresponding
    V tom skriptu je druhy argument fixni hodnota:
    $emailto=$ARGV[1];
    Takze se do skriptu ta druha adresa nedostane i kdyby tam nakrasne byla. Ted je otazka jestli se predavaji adresy vsechny na zaklade toho preposilani (@#ARGV), nebo si je bude muset dohledat na zaklade uzivatele v databazi sam a nasledne preposlat na vsechny.
    Řešení 1× (semtex (tazatel))
    24.8.2023 19:21 X
    Rozbalit Rozbalit vše Re: Debian, postfix, forwarding + autoresponding
    Odkomentuj:
    open LOG, ">/tmp/mailreply.txt";
    a nekde si tam pridej:
    foreach my $arg(@ARGV) { print LOG "$arg\n"; }
    
    Posli mail a podivej se jake parametry to predalo.
    25.8.2023 10:57 semtex | skóre: 24 | blog: semtex
    Rozbalit Rozbalit vše Re: Debian, postfix, forwarding + autoresponding
    Tak jsem zkusil a objevily se mi tam 3 parametry, 1. adresa odesílatele, 2. adresa mailu, na který je příjemce přesměrovaný a 3. adresa příjemce.

    Díky, takže musím projet všechny parametry, ne jen jeden...
    25.8.2023 11:57 X
    Rozbalit Rozbalit vše Re: Debian, postfix, forwarding + autoresponding
    Presne tak.
    25.8.2023 23:06 semtex | skóre: 24 | blog: semtex
    Rozbalit Rozbalit vše Re: Debian, postfix, forwarding + autoresponding
    Tak jsem to předělal a vypadá, že funguje. Dal jsem celý skript do cyklu, kdy při prvním průběhu z argv načtu odesílatele a všechny ostatní načítám jako příjemce...
    25.8.2023 23:06 semtex | skóre: 24 | blog: semtex
    Rozbalit Rozbalit vše Re: Debian, postfix, forwarding + autoresponding
    Každopádně moc děkuji za pomoc

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.