Uroš Popović popisuje, jak si nastavit Linux na desce jako Raspberry Pi Zero, aby je šlo používat jako USB „flešku“.
Andreas Kling oznámil, že jelikož už se nevěnuje nezávislému operačnímu systému SerenityOS, ale výhradně jeho webovému prohlížeči Ladybird, přičemž vyvíjí primárně na Linuxu, SerenityOS opustí a Ladybird bude nově samostatný projekt (nový web, repozitář na GitHubu).
Po dvou měsících vývoje byla vydána nová verze 0.13.0 programovacího jazyka Zig (GitHub, Wikipedie). Přispělo 73 vývojářů. Přehled novinek v poznámkách k vydání.
Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE.
Před 70 lety, 7. června 1954, ve věku 41 let, zemřel Alan Turing, britský matematik, logik, kryptoanalytik a zakladatel moderní informatiky.
NiceGUI umožňuje používat webový prohlížeč jako frontend pro kód v Pythonu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána ve verzi 2024.6. Z novinek lze vypíchnout lepší integraci LLM (OpenAI, Google AI, Ollama) nebo podporu Matter 1.3.
IKEA ve Spojeném království hledá zaměstnance do své nové pobočky. Do pobočky v počítačové hře Roblox. Nástupní mzda je 13,15 liber na hodinu.
Alyssa Rosenzweig se v příspěvku na svém blogu Vulkan 1.3 na M1 za 1 měsíc rozepsala o novém Vulkan 1.3 ovladači Honeykrisp pro Apple M1 splňujícím specifikaci Khronosu. Vychází z ovladače NVK pro GPU od Nvidie. V plánu je dále rozchodit DXVK a vkd3d-proton a tím pádem Direct3D, aby na Apple M1 s Asahi Linuxem běžely hry pro Microsoft Windows.
Byla vydána (𝕏) květnová aktualizace aneb nová verze 1.90 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.90 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
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: