martedì 24 ottobre 2017

Domande SMTP (e risposte)

  1. Il protocollo SMTP richiede di identificarsi tramite il comando HELO prima di poter usare qualsiasi altro comando. Non mi è chiaro quale sia l’argomento da fornire al comando. Nell’esempio delle slide, viene eseguito il comando HELO abc.com seguito da MAIL FROM: <elinor@abc.com>. Posso concludere che l’argomento del comando sia equivalente al dominio e-mail dell’indirizzo e-mail elinor@abc.com?
Ogni mail client è associato ad un dominio email. Se è un mail client in esecuzione su un dispositivo dell'utente, allora è il dominio email in cui si trova la mailbox dell'utente; se invece è un mail server che opera da client, allora è il dominio email di cui il mail server è responsabile.

L'argomento del comando HELO è il dominio email con cui è associato il mail client.

Nell'esempio a cui si riferisce l'argomento di HELO è identico al dominio email del mittente, ma in molti casi pratici (che non abbiamo approfondito) non è così. Ad esempio nel caso delle mailing list: l'argomento di HELO sarà il dominio email a cui appartiene la mailing list ma il mittente dell'email può essere diverso da quel dominio (è esattamente ciò che accade per questo email che state leggendo).
  1. Abbiamo detto che di rado il proprio mail client invia un’e-mail direttamente al mail server del destinatario. Invece, il mail client invia l’e-mail in questione al mail server dell’organizzazione, il quale la inoltra al mail server del destinatario. Ho però provato ad usare un client SMTP per mandare un’e-mail a me stesso; ero in università e non ho utilizzato il mail server universitario, ho invece inviato l’e-mail direttamente e non ho avuto problemi. Più in specifico, ho inviato un’e-mail alla mia mailbox di dominio e-mail gmail.com, utilizzando la configurazione consigliata da Google su https://support.google.com/a/answer/176600, cioè host smtp.gmail.com, porta 465, con SSL ed autenticazione. Come mai l’invio della mail ha funzionato senza problemi?
Se ho capito bene ha usato un mail client dall'interno dell'università.

Se è così allora significa che l'università permette il collegamento verso la porta 465 da parte di qualsiasi indirizzo IP interno (cosa che non sapevo). Mi confermi per favore.
  1. Qualora dovessi mandare l’e-mail tramite il mail server dell’organizzazione, l’argomento del comando HELO cambierebbe? E qualora dovessi mandare l’e-mail utilizzando i server di Google?
In entrambi i casi lei dovrebbe utilizzare come argomento il dominio email a cui appartiene la sua mailbox.
  1. Perché Google consiglia di utilizzare smtp.gmail.com come server SMTP? Facendo una richiesta DNS di tipo MX per gmail.comsmtp.gmail.com non è tra la lista di nomi di mail server restituito dalla risposta DNS (https://www.digwebinterface.com/?hostnames=gmail.com&type=MX&colorize=on&ns=resolver&useresolver=8.8.4.4&nameservers=). Non porei inviare e-mail direttamente usando questi ultimi mail server o, al limite, utilizzando il mail server dell’organizzazione il quale reindirizzerà le e-mail a questi server?
Complicato.

Per quello che abbiamo visto noi, il mail server è il server che contiene le mailbox ed il server al quale si collegano i mail client dell'organizzazione. Nella realtà questi due ruoli potrebbero essere realizzati da due server diversi (rifletteteci un momento e ve ne rendete conto abbastanza facilmente: il DNS deve contenere un record MX che identifica il mail server dove stanno le mailbox e i mail client dell'organizzazione devono essere configurati per collegarsi con l'altro server). Il motivo per cui ciò può accadere lasciamolo perdere.

Google è un caso di questi.
  1. Ho qualche dubbio sulla differenza tra programma client SMTP e programma server SMTP. Mi è ben chiara la differenza tra client e server, nonostante ciò mi è sorto questo dubbio, svolgendo entrambi il compito di inviare e-mail. Chiaramente, il server SMTP memorizza le e-mail fino a quando non vengono prelevate tramite POP o IMAP, ed inoltre effettua l’inoltro quando e-mail quando dovuto. A parte questi due fattori, ci sono altre differenze?
La differenza è enorme. Un programma client SMTP è un programma concepito per essere usato da un utente per gestire la propria mailbox. Quindi ha un'interfaccia grafica per gestire e comporre i messaggi etc etc etc. Le app sui cellulari sono programmi client SMTP. Sui PC non si vedono quasi più; questo è un esempio: https://www.pcmag.com/article2/0,2817,2488072,00.asp

Un programma server SMTP invece è concepito per scopi completamente diversi. La sua interfaccia grafica serve all'amministratore del server per configurarlo, non per gestire una particolare mailbox.
  1. Senza considerare l’obbligatoria autenticazione, cosa dovrei fare se volessi inviare un’e-mail tramite il mail server dell’organizzazione, specificando però di utilizzare il mail server smtp.google.com?
Non può farlo. Se si collega al mail server dell'organizzazione allora lui inoltrerà l'email secondo le informazioni che trova nei record MX del DNS.
  1. Meta-domanda: la terminologia utilizzata nelle domande precedenti è corretta? Se non lo fosse, o non lo fosse in parte, quale sarebbe stato il modo corretto per porle?
Lo stile è perfetto (niente mescolanza tra motivazioni, esempi etc e testo limitato a cosa vuole sapere; quando ho scritto https://bartoli-alberto.blogspot.it/2016/10/come-si-formula-una-domanda.html volevo incoraggiare proprio questo stile).

La terminologia mi pare ok ma non escludo mi sia scappato qualcosina...la cosa fondamentale è evitare ambiguità o errori macroscopici, poi nella pratica è inevitabile introdurre piccole ambiguità o imprecisioni che si capiscono dal contesto (ad esempio io ho scritto che l'argomento di HELO è un dominio email, in realtà è il nome di un dominio email).