Byla vydána verze 0.2.0 v Rustu napsaného frameworku Pingora pro vytváření rychlých, spolehlivých a programovatelných síťových systémů. Společnost Cloudflare jej letos v únoru uvolnila pod licencí Apache 2.0.
Open source RDP (Remote Desktop Protocol) server xrdp (Wikipedie) byl vydán ve verzi 0.10.0. Z novinek je vypíchnuta podpora GFX (Graphic Pipeline Extension). Nová větev řeší také několik bezpečnostních chyb.
Rocky Linux byl vydán v nové stabilní verzi 9.4. Přehled novinek v poznámkách k vydání.
Dellu byla odcizena databáze zákazníků (jméno, adresa, seznam zakoupených produktů) [Customer Care, Bleeping Computer].
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.
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í.
Byl vydán Fedora Asahi Remix 40, tj. linuxová distribuce pro Apple Silicon vycházející z Fedora Linuxu 40.
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.
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.
Dnešním dnem lze již také v Česku nakupovat na Google Store (telefony a sluchátka Google Pixel).
$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: