abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 04:11 | Nová verze

    Rocky Linux byl vydán v nové stabilní verzi 9.4. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 22:22 | Bezpečnostní upozornění

    Dellu byla odcizena databáze zákazníků (jméno, adresa, seznam zakoupených produktů) [Customer Care, Bleeping Computer].

    Ladislav Hagara | Komentářů: 8
    včera 21:11 | Zajímavý článek

    V lednu byl otevřen editor kódů Zed od autorů editoru Atom a Tree-sitter. Tenkrát běžel pouze na macOS. Byl napevno svázán s Metalem. Situace se ale postupně mění. V aktuálním příspěvku Kdy Zed na Linuxu? na blogu Zedu vývojáři popisují aktuální stav. Blíží se alfa verze.

    Ladislav Hagara | Komentářů: 20
    včera 14:33 | Pozvánky

    O víkendu 11. a 12. května lze navštívit Maker Faire Prague, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

    Ladislav Hagara | Komentářů: 0
    8.5. 21:55 | Nová verze

    Byl vydán Fedora Asahi Remix 40, tj. linuxová distribuce pro Apple Silicon vycházející z Fedora Linuxu 40.

    Ladislav Hagara | Komentářů: 19
    8.5. 20:22 | IT novinky

    Představena byla služba Raspberry Pi Connect usnadňující vzdálený grafický přístup k vašim Raspberry Pi z webového prohlížeče. Odkudkoli. Zdarma. Zatím v beta verzi. Detaily v dokumentaci.

    Ladislav Hagara | Komentářů: 6
    8.5. 12:55 | Nová verze

    Byla vydána verze R14.1.2 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.

    JZD | Komentářů: 0
    7.5. 18:55 | IT novinky

    Dnešním dnem lze již také v Česku nakupovat na Google Store (telefony a sluchátka Google Pixel).

    Ladislav Hagara | Komentářů: 10
    7.5. 18:33 | IT novinky

    Apple představil (keynote) iPad Pro s čipem Apple M4, předělaný iPad Air ve dvou velikostech a nový Apple Pencil Pro.

    Ladislav Hagara | Komentářů: 5
    7.5. 17:11 | Nová verze

    Richard Biener oznámil vydání verze 14.1 (14.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 14. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.

    Ladislav Hagara | Komentářů: 0
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (63%)
     (8%)
     (13%)
     (16%)
    Celkem 148 hlasů
     Komentářů: 10, poslední 8.5. 17:35
    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: 412×
    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.