GNU/Linux >> Linux Esercitazione >  >> Linux

Capire come funziona un sistema di posta elettronica

La posta elettronica è diventata uno strumento di comunicazione estremamente popolare. Una solida conoscenza del concetto di sistema di posta elettronica aiuta gli amministratori di sistema a indagare su vari tipi di problemi con il sistema di posta elettronica.

1. Come viaggia un'e-mail

Il diagramma seguente mostra una sequenza tipica di eventi che si verificano quando Alice compone un messaggio utilizzando il suo agente utente di posta (MUA). Digita o seleziona da una rubrica l'indirizzo e-mail del suo corrispondente. Quindi invia l'e-mail.

  1. Il MUA di Alice formatta il messaggio in formato e-mail Internet e utilizza il Simple Mail Transfer Protocol (SMTP) per inviare il messaggio all'agente di trasferimento della posta locale (MTA), in questo caso, smtp.a.org, gestito da Provider di servizi Internet (ISP) di Alice.
  2. L'MTA esamina l'indirizzo di destinazione fornito nel protocollo SMTP (non dall'intestazione del messaggio), in questo caso [email protected]. Un indirizzo di posta elettronica Internet è una stringa del formato [email protected], noto come Full Qualified Domain Address (FQDA). La parte prima del segno @ è la parte locale dell'indirizzo, spesso il nome utente del destinatario, e la parte dopo il segno @ è un nome di dominio. L'MTA cerca questo nome di dominio nel Domain Name System per trovare i server di scambio di posta che accettano messaggi per quel dominio.
  3. Il server DNS per il dominio b.org, ns.b.org, risponde con un record MX che elenca i server di scambio di posta per quel dominio, in questo caso mx.b.org, un server gestito dall'ISP di Bob.
  4. smtp.a.org invia il messaggio a mx.b.org tramite SMTP, che lo consegna alla casella di posta dell'utente bob.
  5. Bob preme il pulsante "ricevi posta" nel suo MUA, che raccoglie il messaggio utilizzando Post Office Protocol (POP3) o utilizzando Internet Message Access Protocol (IMAP).

2. Formato standard dell'e-mail

Un messaggio è costituito da campi di intestazione e, facoltativamente, da un corpo. Ciascun campo di intestazione può essere visualizzato come una singola riga logica di caratteri ASCII, comprendente un nome di campo e un corpo di campo. La parte del corpo di campo può essere suddivisa in più righe .La struttura dei campi di intestazione può essere vista come composta da un nome di campo seguito da due punti (": "), seguito da un corpo di campo e terminato da un ritorno a capo/avanzamento riga.

Il nome del campo deve essere composto da caratteri ASCII stampabili (ovvero, caratteri con valori compresi tra 33. e 126., decimale, eccetto i due punti). Il corpo del campo può contenere qualsiasi carattere ASCII, eccetto CR o LF. (Sebbene CR e/o LF possano essere presenti nel testo effettivo, vengono rimossi dall'azione di dispiegamento del campo.)

Minimo richiesto

Date: 26 Aug 76 1429 EDT       Date: 26 Aug 76 1429 EDT
From: [email protected]    or   From: [email protected]
Bcc:                             To: [email protected]

Tieni presente che il campo "Ccn" potrebbe essere vuoto, mentre il campo "A" deve avere almeno un indirizzo.

Alcuni campi comuni

1. Ricevuto

È un campo di traccia. È utile per sviluppatori e supporto. Una copia di questo campo viene aggiunta da ogni servizio di trasporto che inoltra il messaggio. Le informazioni sul campo possono essere molto utili per rintracciare problemi di trasporto.

Received: from agminet03.b.org (agminet03.b.org [192.168.10.1])
	by gw2.b.org(Switch-3.2.0/Switch-3.2.0) with ESMTP id m3A7ZtIj030617
	for [[email protected]]; Thu, 10 Apr 2008 01:35:55 -0600

2. Da

"Da" è il campo di origine. Questo campo contiene l'identità della persona o delle persone che desiderano che questo messaggio venga inviato. Il processo di creazione del messaggio dovrebbe impostare per impostazione predefinita questo campo come un unico indirizzo macchina autenticato, indicante l'AGENTE (persona, sistema o processo) che ha inserito il messaggio. In caso contrario, il campo "Mittente" DEVE essere presente. Se il campo "Da" è predefinito in questo modo, il campo "Mittente" è facoltativo ed è ridondante con il campo "Da". In tutti i casi, gli indirizzi nel campo "Da" devono essere utilizzabili dalla macchina (addr-specs) e non possono contenere elenchi nominati (gruppi).

From: Alice [[email protected]]

3. A

"To" è un campo ricevitore. Questo campo contiene l'identità dei destinatari principali del messaggio.

To: [[email protected]]

4. ID messaggio

“MESSAGE-ID” è un campo di riferimento. Questo campo contiene un identificatore univoco (l'unità di indirizzo della parte locale) che fa riferimento a QUESTA versione di QUESTO messaggio. L'unicità dell'identificatore del messaggio è garantita dall'host che lo genera. Questo identificatore è concepito per essere leggibile dalla macchina e non necessariamente significativo per gli esseri umani. Un identificatore di messaggio riguarda esattamente un'istanza di un particolare messaggio; le successive revisioni del messaggio dovrebbero ricevere nuovi identificatori di messaggio.

Message-ID: [[email protected]]

5. Oggetto

Questo ha lo scopo di fornire un riepilogo o indicare la natura del messaggio.

Subject: Hello

Corpo

Un campo di intestazione Content-Type può essere utilizzato per specificare il tipo e il sottotipo di dati nel corpo di un messaggio e per specificare completamente la rappresentazione nativa (codifica) di tali dati.

1. Testo

Il corpo è semplicemente una sequenza di righe contenenti caratteri ASCII. È separato dalle intestazioni da una riga nulla (cioè una riga senza nulla che precede il CRLF).

Content-Type: text/plain

2. MIME – Estensioni di posta Internet multiuso

MIME è stato accuratamente progettato come meccanismo estensibile. Descrive il campo di intestazione MIME-Version, il campo di intestazione Content-Type, il campo di intestazione Content-Transfer-Encoding. Ad esempio:

Content-Type: multipart/mixed;
boundary="------------040406000905020906030306"
--_77c1a01c-9699-4678-a620-eccfaf27c4c8_
Content-Type: text/plain
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="file.txt"

3. SMTP – Simple Mail Transfer Protocol

Simple Mail Transfer Protocol (SMTP), un protocollo utilizzato per lo scambio di posta elettronica tra punti su Internet. L'obiettivo del Simple Mail Transfer Protocol (SMTP) è trasferire la posta in modo affidabile ed efficiente.

il modello SMTP

Il progetto SMTP si basa sul seguente modello di comunicazione:come risultato di una richiesta di posta dell'utente, l'SMTP mittente stabilisce un canale di trasmissione bidirezionale verso un SMTP ricevente. Il ricevitore-SMTP può essere la destinazione finale o un intermedio. I comandi SMTP sono generati dal mittente-SMTP e inviati al destinatario-SMTP. Le risposte SMTP vengono inviate dall'SMTP-ricevente all'SMTP-mittente in risposta ai comandi.

Esempio di transazione di posta SMTP

Ci sono tre passaggi per le transazioni di posta SMTP. La transazione viene avviata con un comando MAIL che fornisce l'identificazione del mittente. Segue una serie di uno o più comandi RCPT che forniscono informazioni al ricevitore. Quindi un comando DATA fornisce i dati della posta. Infine, l'indicatore dei dati di fine posta conferma la transazione.

C: #telnet smtp.a.org 25
C: Trying 192.168.**.**...
C: Connected to bigip-adc-mail-10g.a.org (192.168.**.**).
Escape character is '^]'.
C: 220 server ready. Unauthorized Access Prohibited.
S: EHLO test1.a.org
S: 250-bigip-adc-mail-10g.a.org Hello test1.a.org, pleased to meet you
S: 250-8BITMIME
S: 250-SIZE 15728640
S: 250-DSN
S: 250-ENHANCEDSTATUSCODES
S: 250-STARTTLS
S: 250-XAUTH
S: 250 HELP
C: MAIL FROM:
S: 250 2.1.0 Sender OK
C: RCPT TO:
S: 250 2.1.5 Recipient ok
C: DATA
S: 354 Enter mail, end with "." on a line by itself
C: Subject: email title ..content
C: ....
C: . 

S: 250 2.6.0 Message accepted for delivery
C: quit
S: 221 2.0.0  bigip-adc-mail-10g.a.org Closing connection
S: Connection closed by foreign host.

4. POP3 – Post Office Protocol versione 3

POP3 viene utilizzato per leggere la posta elettronica. Con POP3, la tua posta viene salvata per te in un'unica casella di posta sul server. Quando leggi la tua posta, questa viene immediatamente scaricata sul tuo computer e, se non preventivamente concordato, non più conservata sul server.

Inizialmente, l'host del server avvia il servizio POP3 in ascolto sulla porta TCP 110. Quando un client desidera utilizzare il servizio, stabilisce una connessione TCP con il server. Quando viene stabilita la connessione, il server POP3 invia un messaggio di saluto. Il client e il server POP3 si scambiano quindi comandi e risposte (rispettivamente) finché la connessione non viene chiusa o interrotta.

Il protocollo POP3 viene utilizzato per consentire a una workstation di recuperare la posta che il server sta trattenendo per essa.

Esempio di sessione POP3

S: [wait for connection on TCP port 110]
C: [open connection]
S:    +OK POP3 server ready [[email protected]]
C: USER Alice
S: +OK Alice is a real hoopy frood
C: PASS secret
S: +OK Alice's maildrop has 2 messages (320 octets)
C:    STAT
S:    +OK 2 320
C:    LIST
S:    +OK 2 messages (320 octets)
S:    1 120
S:    2 200
S:    .
C:    RETR 1
S:    +OK 120 octets
S:    [the POP3 server sends message 1]
S:    .
C:    DELE 1
S:    +OK message 1 deleted
C:    RETR 2
S:    +OK 200 octets
S:    [the POP3 server sends message 2]
S:    .
C:    DELE 2
S:    +OK message 2 deleted
C:    QUIT
S:    +OK dewey POP3 server signing off (maildrop empty)
C:  [close connection]
S:  [wait for next connection]

5. IMAP – Protocollo di accesso ai messaggi Internet

IMAP (Internet Message Access Protocol) è un protocollo standard per l'accesso alla posta elettronica dal server locale. IMAP è un protocollo client/server in cui le e-mail vengono ricevute e conservate per te dal tuo server Internet. Tu (o il tuo client di posta elettronica) puoi visualizzare solo l'intestazione e il mittente della lettera e quindi decidere se scaricare la posta. Puoi anche creare e manipolare più cartelle o caselle di posta sul server, eliminare messaggi o cercare determinate parti o un'intera nota. IMAP richiede l'accesso continuo al server durante il tempo in cui lavori con la tua posta.

IMAP può essere considerato come un file server remoto. POP3 può essere pensato come un "negozio-e-inoltra ” servizio.

un breve confronto tra POP3 e IMAP

Vantaggi del protocollo POP3

  • Protocollo più semplice; più facile da implementare.
  • Altro software client attualmente disponibile.

Vantaggi del protocollo IMAP

  • Può manipolare i flag di stato dei messaggi persistenti.
  • Può archiviare messaggi e recuperarli.
  • Può accedere e gestire più caselle di posta.
  • Può supportare gli aggiornamenti simultanei e l'accesso alle caselle di posta condivise.
  • Adatto per accedere a dati non email; ad esempio, NetNews, documenti.
  • Può anche utilizzare il paradigma offline, per tempi di connessione e utilizzo del disco minimi.
  • Protocollo associato definito per la gestione della configurazione utente (IMSP).
  • Costruisce per consentire l'ottimizzazione delle prestazioni online, in particolare sui collegamenti a bassa velocità.

Campione di connessione IMAP4

Quella che segue è una trascrizione di una connessione IMAP4rev1. Una lunga fila in questo esempio è interrotta per chiarezza editoriale.

C: telnet imap.a.org 143
S: Trying 192.168.***.***...
S: Connected to imap.a.org (192.168.***.***).
Escape character is '^]'.
S:   * OK IMAP4rev1 Service Ready
C:   a001 login mrc secret
S:   a001 OK LOGIN completed
C:   a002 select inbox
S:   * 18 EXISTS
S:   * FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
S:   * 2 RECENT
S:   * OK [UNSEEN 17] Message 17 is the first unseen message
S:   * OK [UIDVALIDITY 3857529045] UIDs valid

S:   a002 OK [READ-WRITE] SELECT completed
C:   a003 fetch 12 full
S:   * 12 FETCH (FLAGS (\Seen) INTERNALDATE "17-Jul-1996 02:44:25 -0700"
      RFC822.SIZE 4286 ENVELOPE ("Wed, 17 Jul 1996 02:23:25 -0700 (PDT)"
      "IMAP4rev1 WG mtg summary and minutes"
      (("Terry Gray" NIL "gray" "cac.washington.edu"))
      (("Terry Gray" NIL "gray" "cac.washington.edu"))
      (("Terry Gray" NIL "gray" "cac.washington.edu"))
      ((NIL NIL "imap" "cac.washington.edu"))
      ((NIL NIL "minutes" "CNRI.Reston.VA.US")
      ("John Klensin" NIL "KLENSIN" "INFOODS.MIT.EDU")) NIL NIL
      "[[email protected]]")
       BODY ("TEXT" "PLAIN" ("CHARSET" "US-ASCII") NIL NIL "7BIT" 3028 92))
S:    a003 OK FETCH completed
C:    a004 fetch 12 body[header]
S:    * 12 FETCH (BODY[HEADER] {350}
S:    Date: Wed, 17 Jul 1996 02:23:25 -0700 (PDT)
S:    From: Terry Gray [[email protected]]
S:    Subject: IMAP4rev1 WG mtg summary and minutes
S:    To: [email protected]
S:    cc: [email protected], John Klensin [[email protected]]
S:    Message-Id: [[email protected]]
S:    MIME-Version: 1.0
S:    Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
S:
S:    )
S:    a004 OK FETCH completed
C:    a005 store 12 +flags \deleted
S:    * 12 FETCH (FLAGS (\Seen \Deleted))
S:    a005 OK +FLAGS completed
C:    a006 logout
S:    * BYE IMAP4rev1 server terminating connection
S:    a006 OK LOGOUT completed


Linux
  1. Come funziona Hexdump

  2. Come modificare il nome host in Linux

  3. Come personalizzare una lingua di sistema?

  4. Comprensione dei modelli rsyslog

  5. Come ordinare questo output 1,10,11..2

Come configurare l'e-mail Atlantic.Net

Come installare Cockpit su Debian 10

Come aggiornare Ubuntu 18.04 a Ubuntu 20.04

Come installare Nginx su CentOS 8

Come registrare l'audio in Ubuntu 20.04

Come montare NFS su Debian 11