sk2:mail
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| sk2:mail [2025/01/14 03:07] – utworzono jkonczak | sk2:mail [2026/01/14 14:36] (current) – jkonczak | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | < | ||
| + | < | ||
| + | code {white-space: | ||
| + | pre.compact {line-height: | ||
| + | </ | ||
| + | </ | ||
| + | |||
| === Wyłączanie echo w terminalu === | === Wyłączanie echo w terminalu === | ||
| Możesz dowiedzieć się który terminal jest używany przez twoją powłokę wykonując: | Możesz dowiedzieć się który terminal jest używany przez twoją powłokę wykonując: | ||
| - | \\ | ||
| '' | '' | ||
| + | \\ | ||
| W dowolnym momencie możesz z innego terminala wykonać komendę która spowoduje | W dowolnym momencie możesz z innego terminala wykonać komendę która spowoduje | ||
| wyłączenie bądź włączenie wyświetlania wpisanych przez znaków: | wyłączenie bądź włączenie wyświetlania wpisanych przez znaków: | ||
| Line 18: | Line 24: | ||
| W trakcie przesyłania wiadomości e-mail między serwerami SMTP najpierw | W trakcie przesyłania wiadomości e-mail między serwerami SMTP najpierw | ||
| - | przesyłana jest są adresy z " | + | przesyłane są adresy z " |
| \\ | \\ | ||
| Zawartość (contents) każdej wiadomość e-mail składa się z nagłówków (headers) | Zawartość (contents) każdej wiadomość e-mail składa się z nagłówków (headers) | ||
| Line 24: | Line 30: | ||
| < | < | ||
| - | <pre style=" | + | < |
| - | < | + | < |
| - | < | + | < |
| < | < | ||
| - | <span style=" | + | <span style=" |
| - | To: John Q. Public & | + | To: John Q. Public & |
| - | Date: Mon, 13 Jan 2025 03:00:00 +0100 | + | Date: Mon, 13 Jan 2025 03:00:00 +0100 |
| - | Subject: Khhhhhhhhhhhhh | + | Subject: Khhhhhhhhhhhhh |
| - | | + | |
| - | KhIIIIsss! | + | KhIIIIsss! |
| </ | </ | ||
| </ | </ | ||
| Line 39: | Line 45: | ||
| Zauważ że używany do dostarczenia wiadomości adres odbiorcy znajduje się na | Zauważ że używany do dostarczenia wiadomości adres odbiorcy znajduje się na | ||
| - | " | + | " |
| - | brany pod uwagę przy ustalaniu dokąd wiadomość ma zostać wysłana. | + | \\ |
| + | Adres docelowy | ||
| + | ustalaniu dokąd wiadomość ma zostać wysłana. | ||
| \\ | \\ | ||
| " | " | ||
| - | użytkownicy poczty nie widzą adresów które | + | użytkownicy poczty nie widzą adresów które były tam podane (< |
| odbierający może przepisać adres z //rcpt to// do nagłówka // | odbierający może przepisać adres z //rcpt to// do nagłówka // | ||
| Line 51: | Line 59: | ||
| < | < | ||
| - | Each line of characters MUST be no more than 998 characters, and SHOULD be no | + | //Each line of characters MUST be no more than 998 characters, and SHOULD be no |
| - | more than 78 characters, excluding the CRLF. | + | more than 78 characters, excluding the CRLF.// |
| - | [[https:// | + | <wrap right>< |
| < | < | ||
| Linie nagłówków można w razie potrzeby łamać na białych znakach, zostawiając | Linie nagłówków można w razie potrzeby łamać na białych znakach, zostawiając | ||
| Line 64: | Line 72: | ||
| < | < | ||
| - | Although SMTP extensions may relax this restriction for the content body, | + | //Although SMTP extensions may relax this restriction for the content body, |
| - | the content header fields are always encoded using the US-ASCII repertoire. | + | the content header fields are always encoded using the US-ASCII repertoire.// |
| - | [[https:// | + | <wrap right>< |
| < | < | ||
| W niektórych nagłówkach można użyć znaków spoza kodowania US-ASCII, ale muszą | W niektórych nagłówkach można użyć znaków spoza kodowania US-ASCII, ale muszą | ||
| one być odpowiednio zakodowane, używając składni // | one być odpowiednio zakodowane, używając składni // | ||
| odpowiednim [[https:// | odpowiednim [[https:// | ||
| - | \\ | ||
| - | Np: '' | ||
| - | '' | ||
| - | '' | ||
| + | < | ||
| + | Np: '' | ||
| + | '' | ||
| + | < | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | </ | ||
| === Podstawowe nagłówki === | === Podstawowe nagłówki === | ||
| Line 99: | Line 111: | ||
| === Wysłanie === | === Wysłanie === | ||
| - | < | + | < |
| - | | + | |
| - | (mail) → │ MUA │-→-→-→│ MSA │-→-→-→│ MTA │-→-→-→│ MTA │-→-→-→│ MDA │ → (skrzynka) | + | (mail) → │ MUA │-→-→-→│ MSA │-→-→-→│ MTA │-→-→-→│ MTA │-→-→-→│ MDA │ → (skrzynka) |
| - | | + | |
| - | + | <div style=" | |
| - | | + | \____/ |
| - | wysłanie | + | |
| - | (submission) | + | |
| </ | </ | ||
| Podział MTA na MSA, MTA i MDA jest umowny. | Podział MTA na MSA, MTA i MDA jest umowny. | ||
| Line 128: | Line 140: | ||
| === Odbieranie === | === Odbieranie === | ||
| - | < | + | < |
| | | ||
| (skrzynka) ← │ MAA │ ← ← ← │ MRA/MUA │ | (skrzynka) ← │ MAA │ ← ← ← │ MRA/MUA │ | ||
| Line 134: | Line 146: | ||
| </ | </ | ||
| Po tym jak wiadomość wyląduje w skrzynce, trzeba ją stamtąd pobrać. | Po tym jak wiadomość wyląduje w skrzynce, trzeba ją stamtąd pobrać. | ||
| - | Do tego używa się protokołów | + | Do tego używa się protokołu POP3 lub IMAP. |
| ===== Protokół SMTP ===== | ===== Protokół SMTP ===== | ||
| Line 143: | Line 155: | ||
| < | < | ||
| - serwer przesyła do świeżo połączonego klienta powitanie zaczynające się od kodu '' | - serwer przesyła do świeżo połączonego klienta powitanie zaczynające się od kodu '' | ||
| - | - klient | + | - klient |
| - | - klient może poprosić o uwierzytelnienie komendą '' | + | - klient może poprosić o uwierzytelnienie komendą '' |
| - | * po wykonaniu '' | + | * po wykonaniu '' |
| * serwer zwykle pozwala na uwierzytelnienie tylko jeżeli nawiązano z nim bezpieczne połączenie (TLS) | * serwer zwykle pozwala na uwierzytelnienie tylko jeżeli nawiązano z nim bezpieczne połączenie (TLS) | ||
| * w powszechnie używanej metodzie '' | * w powszechnie używanej metodzie '' | ||
| * serwer odsyła kod 334 i czeka na dane uwierzytelniające | * serwer odsyła kod 334 i czeka na dane uwierzytelniające | ||
| - | * klient musi przesłać nazwę użytkownika i hasło zapisane jako '' | + | * klient musi przesłać nazwę użytkownika i hasło zapisane jako '' |
| * serwer po udanym uwierzytelnieniu odsyła odpowiedź z kodem 235 | * serwer po udanym uwierzytelnieniu odsyła odpowiedź z kodem 235 | ||
| - | - klient | + | - klient |
| - | - klient | + | - klient |
| - klient może wskazać kolejnego odbiorcę powtarzając komendę //RCPT TO// z kolejnymi adresami | - klient może wskazać kolejnego odbiorcę powtarzając komendę //RCPT TO// z kolejnymi adresami | ||
| - | - klient zgłasza że chce podać treść maila komendą '' | + | - klient zgłasza że chce podać treść maila komendą '' |
| - | - klient podaje treść maila, zakończoną liną składającą się z kropki \\ < | + | - klient podaje treść maila, zakończoną liną składającą się z kropki \\ < |
| - po odebraniu '' | - po odebraniu '' | ||
| - klient może wysłać kolejny mail (zaczynając znów od '' | - klient może wysłać kolejny mail (zaczynając znów od '' | ||
| Line 167: | Line 179: | ||
| | | ||
| Przykład komunikacji: | Przykład komunikacji: | ||
| - | < | + | < |
| - | < | + | |
| <span style=" | <span style=" | ||
| <span style=" | <span style=" | ||
| Line 178: | Line 189: | ||
| <span style=" | <span style=" | ||
| <span style=" | <span style=" | ||
| - | <span style=" | + | <span style=" |
| <span style=" | <span style=" | ||
| - | <span style=" | + | <span style=" |
| <span style=" | <span style=" | ||
| - | <span style=" | + | <span style=" |
| <span style=" | <span style=" | ||
| <span style=" | <span style=" | ||
| Line 204: | Line 215: | ||
| ==== Porty używane przez SMTP ==== | ==== Porty używane przez SMTP ==== | ||
| - | SMTP używa portów: | + | SMTP używa portów |
| * 25 ('' | * 25 ('' | ||
| * < | * < | ||
| Line 211: | Line 222: | ||
| * 587 ('' | * 587 ('' | ||
| * < | * < | ||
| + | < | ||
| < | < | ||
| Line 221: | Line 233: | ||
| < | < | ||
| - | Połączenie od razu z szyfrowania | + | |
| + | Połączenie od razu z szyfrowaniem | ||
| \\ | \\ | ||
| '' | '' | ||
| '' | '' | ||
| + | |||
| </ | </ | ||
| Line 235: | Line 249: | ||
| z serwerem SMTP po podaniu komendy: | z serwerem SMTP po podaniu komendy: | ||
| \\ | \\ | ||
| - | '' | + | '' |
| \\ | \\ | ||
| < | < | ||
| - | '' | + | '' |
| \\ | \\ | ||
| Po nawiązaniu połączenia TLS klient powinien ponownie wysłać komendę '' | Po nawiązaniu połączenia TLS klient powinien ponownie wysłać komendę '' | ||
| Line 266: | Line 280: | ||
| ~~Zadanie.# | ~~Zadanie.# | ||
| - | Przygotuj polecenia które będziesz musiał wpisać żeby wysłać mail ze swojej | + | Przygotuj polecenia które będziesz musiał wpisać żeby się uwierzytelnić metodą |
| - | poczty studenckiej (albo innej własnej poczty) | + | PLAIN i wysłać mail ze swojej poczty studenckiej (albo innej własnej poczty) |
| do adresów dwóch osób siedzących obok (< | do adresów dwóch osób siedzących obok (< | ||
| uznania</ | uznania</ | ||
| Line 287: | Line 301: | ||
| * wysyła komendę '' | * wysyła komendę '' | ||
| * wysyła komendę '' | * wysyła komendę '' | ||
| - | - klient wysyła komendę '' | + | - klient wysyła komendę '' |
| - klient wysyła komendę '' | - klient wysyła komendę '' | ||
| - klient wysyła komendę '' | - klient wysyła komendę '' | ||
| Line 298: | Line 312: | ||
| pobierającą nagłówki i pierwsze //N// linii treści wiadomości ('' | pobierającą nagłówki i pierwsze //N// linii treści wiadomości ('' | ||
| wyświetlającą które z opcjonalnych funkcji są wspierane przez serwer ('' | wyświetlającą które z opcjonalnych funkcji są wspierane przez serwer ('' | ||
| + | \\ | ||
| < | < | ||
| i [[https:// | i [[https:// | ||
| Line 312: | Line 326: | ||
| usunął je z serwera zwalniając miejsce na kolejne maile. Tworząc ten protokół | usunął je z serwera zwalniając miejsce na kolejne maile. Tworząc ten protokół | ||
| nie przewidziano korzystania z poczty na wielu komputerach ani istnienia | nie przewidziano korzystania z poczty na wielu komputerach ani istnienia | ||
| - | klientów pocztowych innych niż lokalny program (protokół | + | klientów pocztowych innych niż lokalny program (protokół |
| HTTP). | HTTP). | ||
| Line 329: | Line 343: | ||
| \\ | \\ | ||
| Przykładowa komunikacja w której klient wybrał tagi '' | Przykładowa komunikacja w której klient wybrał tagi '' | ||
| - | < | + | < |
| <span style=" | <span style=" | ||
| <span style=" | <span style=" | ||
| Line 354: | Line 368: | ||
| - klient wysyła komendę '' | - klient wysyła komendę '' | ||
| - klient uwierzytelnia się, wykonując jedno z: | - klient uwierzytelnia się, wykonując jedno z: | ||
| - | * wysyła komendę '' | + | * wysyła komendę '' |
| * wysyła komendę '' | * wysyła komendę '' | ||
| - zalogowany klient może między innymi: | - zalogowany klient może między innymi: | ||
| Line 360: | Line 374: | ||
| * stworzyć, zmienić nazwę czy usunąć katalogi | * stworzyć, zmienić nazwę czy usunąć katalogi | ||
| * czekać na przyjście nowych wiadomości (o tym jest dalej w materiałach) | * czekać na przyjście nowych wiadomości (o tym jest dalej w materiałach) | ||
| - | * dodać nową wiadomość do wskazanego katalogu, np. dodać szkic wiadomości | + | * dodać nową wiadomość do wskazanego katalogu, np. umieścić nową wiadomość w katalogu //\Drafts// |
| - | - klient wybiera katalog który chce otworzyć w trybie zapisu i odczytu komendą '' | + | - klient wybiera katalog który chce otworzyć: |
| - | - po wybraniu | + | * w trybie zapisu i odczytu komendą '' |
| - | * pobrać wiadomość bądź jej wskazane części komendą '' | + | * w trybie tylko do odczytu komendą '' |
| - | * zmienić flagi wiadomości komendą '' | + | - po wybraniu |
| - | * usunąć wiadomości z ustawioną flagą | + | * pobrać wiadomość bądź jej wskazane części komendą '' |
| - | * wyszukać wiadomości komendą '' | + | * zmienić flagi wiadomości komendą '' |
| + | * usunąć wiadomości z ustawioną flagą | ||
| + | * wyszukać wiadomości komendą '' | ||
| * skopiować bądź przenieść wiadomość do innego katalogu | * skopiować bądź przenieść wiadomość do innego katalogu | ||
| * wrócić do stanu zalogowanego komendą '' | * wrócić do stanu zalogowanego komendą '' | ||
| - | - do zakończenia pracy klient używa komendy | + | - do zakończenia pracy klient używa komendy '' |
| IMAP używa dwóch numerów wiadomości: | IMAP używa dwóch numerów wiadomości: | ||
| Line 376: | Line 392: | ||
| \\ | \\ | ||
| Jeżeli komendy '' | Jeżeli komendy '' | ||
| - | poprzedzone komendą '' | + | poprzedzone komendą |
| + | < | ||
| + | ++++ foo|<pre class=" | ||
| + | <span style=" | ||
| + | <span style=" | ||
| + | <span style=" | ||
| + | <span style=" | ||
| + | <span style=" | ||
| + | <span style=" | ||
| + | <span style=" | ||
| + | <span style=" | ||
| + | <span style=" | ||
| + | <span style=" | ||
| + | <span style=" | ||
| + | <span style=" | ||
| + | <span style=" | ||
| + | <span style=" | ||
| + | <span style=" | ||
| + | <span style=" | ||
| + | <span style=" | ||
| + | <span style=" | ||
| + | <span style=" | ||
| + | </ | ||
| + | ++++ | ||
| + | --> | ||
| + | </ | ||
| \\ | \\ | ||
| Po wybraniu katalogu klient zawsze dostaje informację o tym jaki UID zostanie | Po wybraniu katalogu klient zawsze dostaje informację o tym jaki UID zostanie | ||
| - | nadany kolejnej wiadomości, co pozwala np. zorientować się jakie wiadomości | + | nadany kolejnej wiadomości. |
| - | pojawiły się od ostatniego sprawdzania poczty. | + | |
| \\ | \\ | ||
| Przy okazji każdej odpowiedzi serwer może przesłać dodatkowo np. linię | Przy okazji każdej odpowiedzi serwer może przesłać dodatkowo np. linię | ||
| Line 386: | Line 426: | ||
| //num//. | //num//. | ||
| | | ||
| + | Protokół IMAP pozwala zarówno ściągać całe maile (czyli zastąpić protokół POP3), | ||
| + | jaki i pozwala klientom pocztowym (również w formie " | ||
| + | innymi pobrać wybrane nagłówki (From, Subject i Date) i flagi (przeczytane, | ||
| + | ważne, odpowiedziano) stu najnowszych maili, pobrać wybrane części wiadomości | ||
| + | (np. treść bez załączników), | ||
| + | temacie/ | ||
| + | |||
| W IMAP kiedykolwiek po zalogowaniu klient może też wysłać komendę **'' | W IMAP kiedykolwiek po zalogowaniu klient może też wysłać komendę **'' | ||
| ([[https:// | ([[https:// | ||
| Line 398: | Line 445: | ||
| Przykład komunikacji: | Przykład komunikacji: | ||
| - | < | + | < |
| - | < | + | |
| <span style=" | <span style=" | ||
| <span style=" | <span style=" | ||
| Line 452: | Line 498: | ||
| <span style=" | <span style=" | ||
| <span style=" | <span style=" | ||
| - | <span style=" | + | <span style=" |
| <span style=" | <span style=" | ||
| - | <span style=" | + | <span style=" |
| - | <span style=" | + | <span style=" |
| - | <span style=" | + | <span style=" |
| </ | </ | ||
| </ | </ | ||
| Line 473: | Line 519: | ||
| ~~Zadanie.# | ~~Zadanie.# | ||
| Połącz się do swojej poczty studenckiej używając IMAP i znajdź nieprzeczytane | Połącz się do swojej poczty studenckiej używając IMAP i znajdź nieprzeczytane | ||
| - | wiadomości w katalogu '' | + | wiadomości w katalogu '' |
| + | poszukaj wiadomości na które nie wysłałeś odpowiedzi, tzn. '' | ||
| ~~Zadanie.# | ~~Zadanie.# | ||
| Line 490: | Line 537: | ||
| Wstępne przetworzenie maili trafiających do skrzynki na serwerze, np. wrzucanie | Wstępne przetworzenie maili trafiających do skrzynki na serwerze, np. wrzucanie | ||
| do wybranych folderów na podstawie ustawionych filtrów, umożliwiają skrypty | do wybranych folderów na podstawie ustawionych filtrów, umożliwiają skrypty | ||
| - | sieve (patrz: [[https:// | + | sieve (patrz: [[https:// |
| - | [[http://sieve.info/|strona " | + | [[https://proton.me/support/ |
| + | ważniejszych elementów języka]]) które można konfigurować | ||
| [[https:// | [[https:// | ||
| \\ | \\ | ||
| Line 513: | Line 561: | ||
| * zwykle zawiera identyfikator pozwalający znaleźć w logach serwera informacje o tej wiadomości, | * zwykle zawiera identyfikator pozwalający znaleźć w logach serwera informacje o tej wiadomości, | ||
| * może zawierać, za słowem kluczowym '' | * może zawierać, za słowem kluczowym '' | ||
| + | |||
| + | < | ||
| + | |||
| + | ++++ Przykładowa skomplikowana historia maila | | ||
| + | < | ||
| + | <span style=" | ||
| + | przeskanowany programem antywirusowym i wysłany do adresata,</ | ||
| + | <span style=" | ||
| + | <span style=" | ||
| + | I każdy kolejny serwer SMTP dodał własny nagłówek: | ||
| + | <span style=" | ||
| + | <pre class=" | ||
| + | <span style=" | ||
| + | Received: from mail-yb1-xb2c.google.com ([2607: | ||
| + | by mail.example.org with esmtps | ||
| + | (Exim 4.96) | ||
| + | (envelope-from & | ||
| + | id 1tWaLw-005ThV-0Q | ||
| + | for user@example.org; | ||
| + | Sat, 11 Jan 2025 13:12:33 +0100 | ||
| + | Received: by mail-yb1-xb2c.google.com with SMTP id 3f1490d57ef6-e3c8ae3a3b2so3989188276.0 | ||
| + | for & | ||
| + | </ | ||
| + | Sat, 11 Jan 2025 04:11:26 -0800 (PST) | ||
| + | Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) | ||
| + | by mx.google.com with SMTPS id 4fb4d7f45d1cf-5d98fe87a9fsor2448019a12.0.2025.01.11.04.11.25 | ||
| + | for & | ||
| + | (Google Transport Security); | ||
| + | Sat, 11 Jan 2025 04:11:25 -0800 (PST) | ||
| + | </ | ||
| + | Sat, 11 Jan 2025 04:11:23 -0800 (PST) | ||
| + | Received: from mail22.atl91.mcsv.net (mail22.atl91.mcsv.net. [198.2.130.22]) | ||
| + | by mx.google.com with ESMTPS id 3f1490d57ef6-e55be2b386esi2450299276.511.2025.01.11.04.11.22 | ||
| + | for & | ||
| + | (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/ | ||
| + | Sat, 11 Jan 2025 04:11:22 -0800 (PST) | ||
| + | Received: from mail22.atl91.mcsv.net ([127.0.0.1]) | ||
| + | by localhost (mail22.atl91.mcsv.net [127.0.0.1]) (amavisd-new, | ||
| + | with ESMTP id vi1BlmqBCQOU; | ||
| + | Received: from localhost (localhost [127.0.0.1]) | ||
| + | by mail22.atl91.mcsv.net (Postfix) with ESMTP id BC4FCE0BA6 | ||
| + | for & | ||
| + | </ | ||
| + | </ | ||
| + | ++++ | ||
| + | |||
| + | </ | ||
| ~~Zadanie.# | ~~Zadanie.# | ||
| Line 526: | Line 621: | ||
| Nagłówki z adresami mają składnię '' | Nagłówki z adresami mają składnię '' | ||
| - | '' | + | '' |
| Poza oczywistymi //From//, //To//, //Cc// i //Bcc// używa się też nagłówków | Poza oczywistymi //From//, //To//, //Cc// i //Bcc// używa się też nagłówków | ||
| Line 579: | Line 674: | ||
| Jeżeli wiadomość składa się z więcej niż jednej części, używa się specjalnych | Jeżeli wiadomość składa się z więcej niż jednej części, używa się specjalnych | ||
| - | typów \\ '' | + | typów \\ '' |
| Te typy wskazują że treść to więcej niż jedna część i ustawiają separator | Te typy wskazują że treść to więcej niż jedna część i ustawiają separator | ||
| - | oddzielający te części na '' | + | oddzielający te części na '' |
| - | \\ | + | na '' |
| - | Powszechnie wykorzystuje się kilka takich typów, np. '' | + | Powszechnie wykorzystuje się kilka takich typów, np. '' |
| + | (< | ||
| Każda część wiadomości ma powinna mieć powtórzony nagłówek // | Każda część wiadomości ma powinna mieć powtórzony nagłówek // | ||
| Line 597: | Line 693: | ||
| Przykład takiej treści: | Przykład takiej treści: | ||
| - | < | + | < |
| - | <code> | + | <i> |
| - | … inne nagłówki … | + | Content-Type: |
| - | Content-Type: | + | |
| - | --oddzielacz | + | <span style=" |
| Content-Type: | Content-Type: | ||
| Przyjdzie o **jedenastej** wieczorem. | Przyjdzie o **jedenastej** wieczorem. | ||
| - | --oddzielacz | + | <span style=" |
| Content-Type: | Content-Type: | ||
| - | <html><body><p>Przyjdzie o <b>jedenastej</b> wieczorem.</p></body></html> | + | <html& |
| - | --oddzielacz | + | <span style=" |
| - | </code> | + | </pre></ |
| ~~Zadanie.# | ~~Zadanie.# | ||
| Line 620: | Line 715: | ||
| Typ '' | Typ '' | ||
| - | używany do wysyłania z załącznikami. | + | używany do wysyłania |
| Przykład: | Przykład: | ||
| - | < | + | < |
| - | <code> | + | <i>… poprzednie nagłówki …</i> |
| … inne nagłówki … | … inne nagłówki … | ||
| - | Content-Type: | + | Content-Type: |
| - | --fikusny_separator | + | <span style=" |
| Content-Type: | Content-Type: | ||
| Zobacz ten obrazek! | Zobacz ten obrazek! | ||
| - | --fikusny_separator | + | <span style=" |
| Content-Type: | Content-Type: | ||
| Content-Transfer-Encoding: | Content-Transfer-Encoding: | ||
| Line 640: | Line 735: | ||
| ETvHpgjyISFAGN5YCNgjrP7GURBzioYgzEHcQ9mIFMRLHykg2AtU+0bVxCNq8am+oe6OJ8yf5QDW | ETvHpgjyISFAGN5YCNgjrP7GURBzioYgzEHcQ9mIFMRLHykg2AtU+0bVxCNq8am+oe6OJ8yf5QDW | ||
| ShMmZmKfpQAAAABJRU5ErkJggg== | ShMmZmKfpQAAAABJRU5ErkJggg== | ||
| - | --fikusny_separator | + | <span style=" |
| - | </code> | + | </pre></ |
| ~~Zadanie.# | ~~Zadanie.# | ||
| Line 650: | Line 745: | ||
| Typu MIME moża w sobie dowolnie zagnieżdżać, | Typu MIME moża w sobie dowolnie zagnieżdżać, | ||
| - | <code> | + | <html>< |
| - | … inne nagłówki … | + | <i>… poprzednie |
| - | Content-Type: | + | Content-Type: |
| - | --a | + | <span style=" |
| - | Content-Type: | + | Content-Type: |
| - | --b | + | <span style=" |
| Content-Type: | Content-Type: | ||
| Zobacz ten obrazek! | Zobacz ten obrazek! | ||
| [IMG] | [IMG] | ||
| - | --b | + | <span style=" |
| - | Content-Type: | + | Content-Type: |
| - | --c | + | <span style=" |
| Content-Type: | Content-Type: | ||
| - | <html><body><p>Zobacz ten obrazek!</p> | + | <html& |
| - | <p><img src=" | + | <p& |
| - | --c | + | <span style=" |
| Content-Type: | Content-Type: | ||
| Content-Transfer-Encoding: | Content-Transfer-Encoding: | ||
| - | Content-ID: | + | Content-ID: |
| iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAATElEQVQY04WOOQ7AQAwCZ1b+/ | iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAATElEQVQY04WOOQ7AQAwCZ1b+/ | ||
| ETvHpgjyISFAGN5YCNgjrP7GURBzioYgzEHcQ9mIFMRLHykg2AtU+0bVxCNq8am+oe6OJ8yf5QDW | ETvHpgjyISFAGN5YCNgjrP7GURBzioYgzEHcQ9mIFMRLHykg2AtU+0bVxCNq8am+oe6OJ8yf5QDW | ||
| ShMmZmKfpQAAAABJRU5ErkJggg== | ShMmZmKfpQAAAABJRU5ErkJggg== | ||
| - | --c | + | <span style=" |
| - | --b | + | <span style=" |
| - | --a | + | <span style=" |
| Content-Type: | Content-Type: | ||
| Content-Disposition: | Content-Disposition: | ||
| kopyrajt 2025 | kopyrajt 2025 | ||
| - | --a | + | <span style=" |
| - | </code> | + | </pre></ |
| ==== Kodowanie treści ==== | ==== Kodowanie treści ==== | ||
| Line 695: | Line 790: | ||
| Kodowanie dla danej części wiadomości można ustawić w nagłówku | Kodowanie dla danej części wiadomości można ustawić w nagłówku | ||
| - | // | + | //**Content-Transfer-Encoding**//. Domyślna wartość to '' |
| ogóle na użycie znaków spoza US-ASCII. | ogóle na użycie znaków spoza US-ASCII. | ||
| - | Inne dozwolone kodowana to " | + | Inne dozwolone kodowana to " |
| długość linii do 998 znaków, drugie nie nakłada ograniczenia na długość linii) | długość linii do 998 znaków, drugie nie nakłada ograniczenia na długość linii) | ||
| oraz '' | oraz '' | ||
| - | '' | + | '' |
| bez zmian przesyła drukowalne znaki ASCII poza znakiem równości, | bez zmian przesyła drukowalne znaki ASCII poza znakiem równości, | ||
| natomiast całą resztę (w tym np. spacje czy znaki nowej linii) koduje jako | natomiast całą resztę (w tym np. spacje czy znaki nowej linii) koduje jako | ||
| '' | '' | ||
| - | Powstały tekst zawija się przed 77 znakiem , wstawiając na koniec linii znak '' | + | Powstały tekst zawija się przed 78 znakiem, wstawiając na koniec linii znak '' |
| \\ | \\ | ||
| Np. '' | Np. '' | ||
| '' | '' | ||
| - | '' | + | '' |
| + | [[https:// | ||
| \\ | \\ | ||
| Np. '' | Np. '' | ||
| Line 718: | Line 814: | ||
| Kodowanie '' | Kodowanie '' | ||
| załączników i jest do tego celu niewydajne – base64 koduje 3 bit treści na | załączników i jest do tego celu niewydajne – base64 koduje 3 bit treści na | ||
| - | 4 bitach danych, więc objętość wiadomości rośnie o ⅓. | + | 4 bitach danych |
| + | wiadomości rośnie o ponad ⅓. | ||
| ~~Zadanie.# | ~~Zadanie.# | ||
| Wyszukaj w swojej skrzynce przynajmniej dwa maile z polskimi znakami w treści | Wyszukaj w swojej skrzynce przynajmniej dwa maile z polskimi znakami w treści | ||
| które używają różnych '' | które używają różnych '' | ||
| + | |||
sk2/mail.1736824068.txt.gz · Last modified: (external edit)