Byly vyhlášeny výsledky letošní volby vedoucího projektu Debian (DPL, Wikipedie). Staronovým vedoucím zůstává Andreas Tille.
Jason Citron končí jako CEO Discordu. Od pondělí 28. dubna nastupuje nový CEO Humam Sakhnini, bývalý CSO Activision Blizzard.
Článek na Libre Arts představuje baskytarový multiefekt Anagram od společnosti Darkglass Electronics. S Linuxem uvnitř (licence, GitHub).
Městský soud v Praze vyhlásil rozsudek, který vyhověl žalobě novináře Jana Cibulky, který s podporou spolku IuRe (Iuridicum Remedium) požadoval omluvu od státu za to, že česká legislativa nařizuje operátorům uchovávat metadata o elektronické komunikaci. To je přitom v rozporu s právem. Stát se musí novináři omluvit a zaplatit náklady řízení. Především je ale součástí přelomové rozhodnutí o nelegálnosti shromažďování dat a o
… více »Americké technologické firmy Apple a Meta Platforms porušily pravidla na ochranu unijního trhu, uvedla včera Evropská komise (EK). Firmám proto vyměřila pokutu – Applu 500 milionů eur (12,5 miliardy Kč) a Metě 200 milionů eur (pět miliard Kč). Komise to oznámila v tiskové zprávě. Jde o první pokuty, které souvisejí s unijním nařízením o digitálních trzích (DMA). „Evropská komise zjistila, že Apple porušil povinnost vyplývající z nařízení
… více »Americká společnost OpenAI, která stojí za chatovacím robotem ChatGPT, by měla zájem o webový prohlížeč Chrome, pokud by jeho současný majitel, společnost Google, byl donucen ho prodat. Při slyšení u antimonopolního soudu ve Washingtonu to řekl šéf produktové divize ChatGPT Nick Turley.
Po roce vývoje od vydání verze 1.26.0 byla vydána nová stabilní verze 1.28.0 webového serveru a reverzní proxy nginx (Wikipedie). Nová verze přináší řadu novinek. Podrobný přehled v souboru CHANGES-1.28.
Byla vydána nová verze 10.0.0 otevřeného emulátoru procesorů a virtualizačního nástroje QEMU (Wikipedie). Přispělo 211 vývojářů. Provedeno bylo více než 2 800 commitů. Přehled úprav a nových vlastností v seznamu změn.
42 svobodných a otevřených projektů získalo finanční podporu od NLnet Foundation (Wikipedie).
Americký výrobce čipů Intel plánuje propustit více než 20 procent zaměstnanců. Cílem tohoto kroku je zjednodušit organizační strukturu ve firmě, která se potýká s problémy.
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.czTí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:
${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.
#!/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; } }
$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.
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.
Tiskni
Sdílej: