FFmpeg nechal kvůli porušení autorských práv odstranit z GitHubu jeden z repozitářů patřících čínské technologické firmě Rockchip. Důvodem bylo porušení LGPL ze strany Rockchipu. Rockchip byl FFmpegem na porušování LGPL upozorněn již téměř před dvěma roky.
K dispozici je nový CLI nástroj witr sloužící k analýze běžících procesů. Název je zkratkou slov why-is-this-running, 'proč tohle běží'. Klade si za cíl v 'jediném, lidsky čitelném, výstupu vysvětlit odkud daný spuštěný proces pochází, jak byl spuštěn a jaký řetězec systémů je zodpovědný za to, že tento proces právě teď běží'. Witr je napsán v jazyce Go.
Yazi je správce souborů běžící v terminálu. Napsán je v programovacím jazyce Rust. Podporuje asynchronní I/O operace. Vydán byl v nové verzi 25.12.29. Instalovat jej lze také ze Snapcraftu.
Od soboty do úterý probíhá v Hamburku konference 39C3 (Chaos Communication Congress) věnovaná také počítačové bezpečnosti nebo hardwaru. Program (jiná verze) slibuje řadu zajímavých přednášek. Streamy a záznamy budou k dispozici na media.ccc.de.
Byl představen nový Xserver Phoenix, kompletně od nuly vyvíjený v programovacím jazyce Zig. Projekt Phoenix si klade za cíl být moderní alternativou k X.Org serveru.
XLibre Xserver byl 21. prosince vydán ve verzi 25.1.0, 'winter solstice release'. Od založení tohoto forku X.Org serveru se jedná o vůbec první novou minor verzi (inkrementovalo se to druhé číslo v číselném kódu verze).
Wayback byl vydán ve verzi 0.3. Wayback je "tak akorát Waylandu, aby fungoval Xwayland". Jedná se o kompatibilní vrstvu umožňující běh plnohodnotných X11 desktopových prostředí s využitím komponent z Waylandu. Cílem je nakonec nahradit klasický server X.Org, a tím snížit zátěž údržby aplikací X11.
Byla vydána verze 4.0.0 programovacího jazyka Ruby (Wikipedie). S Ruby Box a ZJIT. Ruby lze vyzkoušet na webové stránce TryRuby. U příležitosti 30. narozenin, první veřejná verze Ruby 0.95 byla oznámena 21. prosince 1995, proběhl redesign webových stránek.
Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.
Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.
$email_from = "odkoho@domena.cz"; // Od koho je e-mail
$email_from_name = "OD KOHO"; // Od koho je e-mail (název společnosti)
$clearsubject = "Potvrzení objednávky";
$encodedsubject = base64_encode ($clearsubject);
$subject = "=?iso-8859-2?B?$encodedsubject?=";
$email_message = "
Vážený zákazníku,
na základě telefonické domluvy a tak dále"; // Tělo zprávy e-mailu
$email_to = "<$komu>"; // Komu má být e-mail poslán
$headers = "From: " . $email_from_name . "<" . $email_from . ">";
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
$email .= "\nMIME-Version: 1.0\n" .
"Content-Type: multipart/mixed;\n" .
" boundary=\"{$mime_boundary}\"";
$headers .= "\nX-Sender: odkoho@domena.cz";
$headers .= "\nReply-To: odkoho@domena.cz";
$headers .= "\nX-Mailer: PHP";
$headers .= "\nX-Priority: 3";
$email_message .= "\nThis is a multi-part message in MIME format.\n\n" .
"--{$mime_boundary}\n" .
"Content-Type:text/html; charset=\"iso-8859-2\"\n" .
"Content-Transfer-Encoding: 7bit\n\n" .
$email_message . "\n\n";
/********************************************** Příloha ********************************************/
$fileatt = "Exkluzivni_nabidka.doc"; // Cesta k souboru
$fileatt_type = "application/msword"; // Typ souboru
$fileatt_name = "Exkluzivni_nabidka.doc"; // Název souboru připojeného k e-mailu v příloze
$file = fopen($fileatt,'rb');
$data = fread($file,filesize($fileatt));
fclose($file);
$data = chunk_split(base64_encode($data));
$email_message .= "--{$mime_boundary}\n" .
"Content-Type: {$fileatt_type};\n" .
" name=\"{$fileatt_name}\"\n" .
"Content-Disposition: attachment;\n" .
" filename=\"{$fileatt_name}-1\"\n" .
"Content-Transfer-Encoding: base64\n\n" .
$data . "\n\n"
$email_message .= "--{$mime_boundary}\n" .
"Content-Type: {$fileatt_type};\n" .
" name=\"{$fileatt_name}\"\n" .
"Content-Disposition: attachment;\n" .
" filename=\"{$fileatt_name}-2\"\n" .
"Content-Transfer-Encoding: base64\n\n" .
$data . "\n\n" .
"--{$mime_boundary}--\n";
unset($data);
unset($file);
unset($fileatt);
unset($fileatt_type);
unset($fileatt_name);
/********************************************** Konec konfigurace přílohy ********************************************/
# samotný příkaz k odeslání e-mailu
$ok = @mail($email_to, $email_subject, $email_message, $headers);
From: "…" <mail@example.com> To: <me@example.com> Subject: =?windows-1250?Q?Test?= MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_01CC_01C7FAC3.59064BA0" This is a multi-part message in MIME format. ------=_NextPart_000_01CC_01C7FAC3.59064BA0 Content-Type: text/plain; charset="iso-8859-2" Content-Transfer-Encoding: quoted-printable Posilame vam prima spam. ------=_NextPart_000_01CC_01C7FAC3.59064BA0 Content-Type: application/pdf; name="spam.PDF" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="spam.PDF" JVBERi0xLjQKJcfsj6IKNSAwIG9iago8PC9MZW5ndGggNiAwIFIvRmlsdGVyIC9GbGF0ZURlY29k … NT5dCj4+CnN0YXJ0eHJlZgo1MDIyMgolJUVPRgo= ------=_NextPart_000_01CC_01C7FAC3.59064BA0 Content-Type: application/ms-word; name="spam.doc" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="spam.doc" JVBERi0xLjQKJcfsj6IKNSAwIG9iago8PC9MZW5ndGggNiAwIFIvRmlsdGVyIC9GbGF0ZURlY29k … NT5dCj4+CnN0YXJ0eHJlZgo1MDIyMgolJUVPRgo= ------=_NextPart_000_01CC_01C7FAC3.59064BA0--Prázdný řádek je tam vždy jen jeden, zdvojuje jej asi redakční systém Abíčka.
tady byla hlavicka (publikacni system abclinuxu mi ji nepovolil vlozit)
pak je tady text mailu
This is a multi-part message in MIME format.
--==Multipart_Boundary_xbd2d9e7421466c5d3fa601b7f6be4967x
Content-Type:text/html; charset="utf-8"
Content-Transfer-Encoding: 8bit
text mailu je tady znova
--==Multipart_Boundary_xbd2d9e7421466c5d3fa601b7f6be4967x
Content-Type: application/pdf;
name="priloha2.pdf"
Content-Disposition: attachment;
filename="priloha2.pdf-2"
Content-Transfer-Encoding: base64
tady byl kod PDFKa
--==Multipart_Boundary_xbd2d9e7421466c5d3fa601b7f6be4967x--
priloha2.pdf-2. Ta první "příloha" je přímo text e-mailu v HTML, který zobrazí rovnou klient (pokud nemá nastavenu preferenci plaintextu). Zda to bude klient interpretovat jako "tělo" e-mailu nebo jako přílohu určuje hlavička Content-Disposition: attachment (resp. Content-Disposition: inline). Není chyba ve vašem PHP kódu, že byste si první přílohu přepsal (místo přidávání k řetězci byste jej nahradil)?
Mimochodem, pokud vkládáte do diskuze nějaký kód, použijte tag <pre class="kod">, zjednodušíte si práci s formátováním a bude to lépe čitelné. Znaky < a > v textu musíte nahradit HTML entitami < a > – nad editačním boxem jsou tlačítka, která pomocí javascriptu ty znaky vloží.
$idobjednavky = date("dmY / Hi");
$contentType = $_FILES['priloha']['type'];
$pripona = substr($contentType, strpos($contentType, "/") +1);
$name = date(YmdHis);
$contentType2 = $_FILES['priloha2']['type'];
$pripona2 = substr($contentType2, strpos($contentType2, "/") +1);
$contentType3 = $_FILES['priloha3']['type'];
$pripona3 = substr($contentType3, strpos($contentType3, "/") +1);
$contentType4 = $_FILES['priloha4']['type'];
$pripona4 = substr($contentType4, strpos($contentType4, "/") +1);
if ($_FILES ['priloha']): $upload = move_uploaded_file ($_FILES ['priloha'] ['tmp_name'], "priloha/$name.$pripona"); endif;
if ($_FILES ['priloha2']): $upload = move_uploaded_file ($_FILES ['priloha2'] ['tmp_name'], "priloha2/$name.$pripona2"); endif;
if ($_FILES ['priloha3']): $upload = move_uploaded_file ($_FILES ['priloha3'] ['tmp_name'], "priloha3/$name.$pripona3"); endif;
if ($_FILES ['priloha4']): $upload = move_uploaded_file ($_FILES ['priloha4'] ['tmp_name'], "priloha4/$name.$pripona4"); endif;
$email_from = "od@koho.cz"; // Od koho je e-mail
$email_from_name = "název firmy"; // Od koho je e-mail (název společnosti)
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
$email_message = "\nThis is a multi-part message in MIME format.\n\n" .
"--{$mime_boundary}\n" .
"Content-Type:text/html; charset=\"utf-8\"\n" .
"Content-Transfer-Encoding: 8bit\n\n" .
$email_message . "\n\n";
$email_message .= "
\n
tady je text zpravy
"; // Tělo zprávy e-mailu
$email_to = "jmeno@komuposlatmail.cz"; // Komu má být e-mail poslán
$headers = "From: " . $email_from_name . "<" . $email_from . ">";
$headers .= "\nMIME-Version: 1.0\n" .
"Content-Type: multipart/mixed;\n" .
" boundary=\"{$mime_boundary}\"";
$headers .= "\nX-Sender: jmeno@domena.cz";
$headers .= "\nReply-To: jmeno@domena.cz";
$headers .= "\nX-Mailer: PHP";
$headers .= "\nX-Priority: 3";
$subject = "Předmět zprávy (číslo - $idobjednavky)";
$charset='utf-8';
$encoded_subject="=?$charset?B?".base64_encode($subject)."?=\n";
/********************************************** Přílohy ********************************************/
if($_FILES["priloha"]["name"] <> ""):
$fileatt = "priloha/$name.$pripona"; // Cesta k souboru
$fileatt_type = "$contentType"; // Typ souboru
$fileatt_name = $_FILES["priloha"]["name"]; // Název souboru připojeného k e-mailu v příloze
$file = fopen($fileatt,'rb');
$data = fread($file,filesize($fileatt));
fclose($file);
$data = chunk_split(base64_encode($data));
$email_message .= "--{$mime_boundary}\n" .
"Content-Type: {$fileatt_type};\n" .
" name=\"{$fileatt_name}\"\n" .
"Content-Disposition: attachment;\n" .
" filename=\"{$fileatt_name}\"\n" .
"Content-Transfer-Encoding: base64\n\n" .
$data . "\n\n";
endif;
if($_FILES["priloha2"]["name"] <> ""):
$fileatt2 = "priloha2/$name.$pripona2"; // Cesta k souboru
$fileatt_type2 = "$contentType2"; // Typ souboru
$fileatt_name2 = $_FILES["priloha2"]["name"]; // Název souboru připojeného k e-mailu v příloze
$file2 = fopen($fileatt2,'rb');
$data2 = fread($file2,filesize($fileatt2));
fclose($file2);
$data2 = chunk_split(base64_encode($data2));
$email_message .= "--{$mime_boundary}\n" .
"Content-Type: {$fileatt_type2};\n" .
" name=\"{$fileatt_name2}\"\n" .
"Content-Disposition: attachment;\n" .
" filename=\"{$fileatt_name2}\"\n" .
"Content-Transfer-Encoding: base64\n\n" .
$data2 . "\n\n";
endif;
if($_FILES["priloha3"]["name"] <> ""):
$fileatt3 = "priloha3/$name.$pripona3"; // Cesta k souboru
$fileatt_type3 = "$contentType3"; // Typ souboru
$fileatt_name3 = $_FILES["priloha3"]["name"]; // Název souboru připojeného k e-mailu v příloze
$file3 = fopen($fileatt3,'rb');
$data3 = fread($file3,filesize($fileatt3));
fclose($file3);
$data3 = chunk_split(base64_encode($data3));
$email_message .= "--{$mime_boundary}\n" .
"Content-Type: {$fileatt_type3};\n" .
" name=\"{$fileatt_name3}\"\n" .
"Content-Disposition: attachment;\n" .
" filename=\"{$fileatt_name3}\"\n" .
"Content-Transfer-Encoding: base64\n\n" .
$data3 . "\n\n";
endif;
if($_FILES["priloha4"]["name"] <> ""):
$fileatt4 = "priloha4/$name.$pripona4"; // Cesta k souboru
$fileatt_type4 = "$contentType4"; // Typ souboru
$fileatt_name4 = $_FILES["priloha4"]["name"]; // Název souboru připojeného k e-mailu v příloze
$file4 = fopen($fileatt4,'rb');
$data4 = fread($file4,filesize($fileatt4));
fclose($file4);
$data4 = chunk_split(base64_encode($data4));
$email_message .= "--{$mime_boundary}\n" .
"Content-Type: {$fileatt_type4};\n" .
" name=\"{$fileatt_name4}\"\n" .
"Content-Disposition: attachment;\n" .
" filename=\"{$fileatt_name4}\"\n" .
"Content-Transfer-Encoding: base64\n\n" .
$data4 . "\n\n";
endif;
$email_message.= "--{$mime_boundary}--\n";
/********************************************** Konec konfigurace příloh ********************************************/
# samotný příkaz k odeslání e-mailu
$ok = @mail($email_to, $encoded_subject, $email_message, $headers);
//FUNKCE pro odeslani mailu s prilozenym souborem
//-------------------------------------------------
//$email_address = "Recievers email";
//$email_from = "Senders email";
//$subject = "Any subject you like!";
//$msg = "Text message shown in email";
//$attach_filepath = "path to existing picture files. Should be an array!";
//-------------------------------------------------
function xmail($email_address,$email_from,$subject,$msg,$attach_filepath)
{
$b = 0;
$mail_attached = "";
$boundary = md5(uniqid(time(),1))."_xmail";
if (count($attach_filepath)>0)
{
for ($a=0;$a < count($attach_filepath);$a++)
{
if ($fp = fopen($attach_filepath[$a],"rb"))
{
$file_name = basename($attach_filepath[$a]);
$content[$b] = fread($fp,filesize($attach_filepath[$a]));
$mail_attached .= "--".$boundary."\r\n".
"Content-Type: image/jpeg; name=\"$file_name\"\r\n".
"Content-Transfer-Encoding: base64\r\n".
"Content-Disposition: inline; filename=\"$file_name\"\r\n\r\n".
chunk_split(base64_encode($content[$b]))."\r\n";
$b++;
fclose($fp);
}
// else echo "NE";
}
$mail_attached .= "--".$boundary." \r\n";
$add_header ="MIME-Version: 1.0\r\nContent-Type: multipart/mixed; boundary=\"$boundary\"";
$mail_content = "--".$boundary."\r\n".
"Content-Type: text/plain; charset=iso-8859-1; format=flowed\r\n".
"Content-Transfer-Encoding: 8bit\r\n\r\n".
$msg."\r\n\r\n".$mail_attached;
return mail($email_address,$subject,$mail_content,"From: ".$email_from."\r\n".$add_header);
}
else return mail($email_address,$subject,$msg,"From: ".$email_from);
}
Tiskni
Sdílej: