19.2.2 SMTP - Simple Mail Transfer Protocol

Il SMTP (Simple Mail Transfer Protocol) è il protocollo, definito dalle RFC 821 e 2821, per mezzo del quale i messaggi di posta elettronica vengono recapitati da un MUA verso il MTA che gestisce la casella e-mail di destinazione. Il MTA implementa un server SMTP, che in genere rimane in ascolto sulla porta TCP 25, per ricevere i mesasggi inviati dal MUA (o da un altro MTA), ma anche un client SMTP per inviare i messaggi al MTA di destinazione. Il MUA implementa invece soltanto un client SMTP.


pict
Figura 19.6: Esempio di comunicazione SMTP.

Il MTA che riceve un messaggio e-mail dal MUA, si preoccupa anche di generare i messaggi da inviare se i destinatari sono più di uno.

Un messaggio SMTP si compone essenzialmente di due parti:

Man mano che il pacchetto SMTP attraversa i vari MTA per raggiungere la destinazione, la sua intestazione viene aggiornata dagli MTA stessi, ognuno dei quali ci inserisce (in testa) informazioni relative al passaggio del pacchetto attraverso di lui. In questo modo il pacchetto stesso tiene traccia del percorso che ha fatto.

Return-Path: <annunci-bounces@lists.linux.it>
X-Original-To: daniele@tiscali.it
Delivered-To: masindani@mail02.powweb.com
Received: from picard.linux.it (picard.linux.it [62.177.1.107]) by
    mail02.powweb.com (Postfix) with ESMTP id 31CC8DEF29 for
    <daniele@vandali.org>; Tue, 13 Jul 2004 05:01:23 -0700 (PDT)
Received: from picard.linux.it (localhost [127.0.0.1]) by picard.linux.it
    (Postfix) with ESMTP id 3B2496E0B1; Tue, 13 Jul 2004 14:00:44 +0200 (CEST)
X-Original-To: annunci@lists.linux.it
Delivered-To: annunci@picard.linux.it
Received: from mail.abcd.it (unknown [194.185.113.80]) by picard.linux.it
    (Postfix) with ESMTP id BFFDC3EF0 for <annunci@lists.linux.it>; Tue, 13 Jul
    2004 13:40:10 +0200 (CEST)
Received: from mail-vs2.abcd.it ([192.168.30.100]) by mail.abcd.it
    with Microsoft SMTPSVC(5.0.2195.6713); Tue, 13 Jul 2004 13:40:49 +0200
Received: from [192.168.29.79] ([192.168.29.79]) by mail-vs2.abcd.it
    with Microsoft SMTPSVC(5.0.2195.5329); Tue, 13 Jul 2004 13:40:47 +0200
Message-ID: <40F3CA0F.3040207@tiscali.it>
Date: Tue, 13 Jul 2004 13:39:59 +0200
From: Daniele Masini <d.masini@tiscali.it>
User-Agent: Mozilla Thunderbird 0.7.1 (Windows/20040626)
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: annunci@lists.linux.it
X-OriginalArrivalTime: 13 Jul 2004 11:40:47.0828 (UTC)
    FILETIME=[3D8AE140:01C468CE]
X-Mailman-Approved-At: Tue, 13 Jul 2004 14:00:43 +0200
Subject: Informatica e GNU/Linux in HTML.
X-BeenThere: annunci@lists.linux.it
X-Mailman-Version: 2.1.3
Precedence: list
Sender: annunci-bounces@lists.linux.it
Errors-To: annunci-bounces@lists.linux.it
X-Antivirus: Clean
Status: RO
La versione HTML di "Informatica e GNU/Linux"  stata aggiornata (2004.7.5). Tale
versione del testo diviene cos consultabile anche on-line su
                                                                        
                                                                        
http://vandali.org/DanieleMasini/MyLinuxFrame.html
Saluti,
Daniele Masini
Nonostante i MUA siano ad oggi in grado di gestire varie codifiche ASCII, il protocollo SMTP utilizza l’ASCII standard8, pertanto, per essere sicuro che un messaggio e-mail possa attraversare i vari MTA ed essere sicuramente recapitato correttamente al destinatario, è opportuno utilizzare per la sua scrittura la codifica ASCII ISO 8859-1, usando soltanto i caratteri ASCII standard, cioè senza lettere accentate (queste possono essere riprodotte ad esempio facendo seguire la lettera da considerare accentata da un apice), e limitare la lunghezza delle righe di testo che lo compongono.

Il fatto che il protocollo SMTP si basi sui caratteri ASCII standard, lo rende utllizzabile anche per mezzo di semplici terminali remoti, come ad esempio telnet. Dopo aver contattato il server, il client ...

La maggior parte degli MTA attuali supportano anche le estensioni MIME9 e per questo permettono la gestione di un insieme di caratteri più esteso rispetto all’ASCII standard.

L’invio di un messaggio e-mail tramite il protocollo SMTP è piuttosto semplice: una volta connessi al server, si deve indicare l’identificativo con il quale si vuol operare, per mezzo del comando

 
HELO userid  
l quale il server risponde con un messaggio di conferma del genere

 
250 mail.test.org  
dove il numero indica ...

[da completare ...]