Se pensate che impostare un client di email per inviare tramite SMTP autenticato sia facile e lineare, non avete mai cercato di fare parlare assieme Apple Mail e Plesk.
Apple Mail e` il client di email installato di default sui Mac. Plesk e` un sistema (composto di varie parti, alcune delle quali open source) che serve a fornire servizio di hosting (web, email, dns, ecc) in maniera semplice e soprattutto in modo da renderlo facilmente gestibile dal cliente.
Apple Mail, a parte una logica di configurazione un poco bizantina (ma forse sono io che non sono abituato alle logiche di Apple) e` un comune client di posta. Le impostazioni del server SMTP sono le solite: hostname, porta, eventuale uso di SSL o TLS, ed eventuale sistema di autenticazione.
Plesk utilizza Qmail per gestire la posta, e consente al client di connettersi (a seconda di come e` configurato) in SSL, TLS o plain, e di autenticarsi in SMTP, oppure a mezzo del sistema (osceno a mio avviso) del POP-before-SMTP. Questo sistema in pratica consente di mandare email senza autenticare la sessione SMTP solo se dallo stesso indirizzo IP e` stata fatta recentemente una sessione POP3 (autenticata correttamente). Si tratta chiaramente di una porcheria, di un workaround nato molti anni fa quando i client di posta non erano in grado di gestire l’ SMTP autenticato.
Ma veniamo al problema, che e` davvero peculiare.
Se faccio una sessione SMTP senza fare alcuna sessione POP3 il server mi propone di autenticarmi:
220 plesk.XXX.it ESMTP
ehlo kurgan.org
250-plesk.XXX.it
250-AUTH=LOGIN CRAM-MD5 PLAIN
250-AUTH LOGIN CRAM-MD5 PLAIN
250-STARTTLS
250-PIPELINING
250 8BITMIME
Se pero` ho appena fatto una sessione POP3 , allora il server non mi propone piu` di autenticarmi, perche` mi considera gia` autenticato tramite il protocollo POP-before-SMTP.
220 plesk.XXX.it ESMTP
ehlo kurgan.org
250-plesk.XXX.it
250-STARTTLS
250-PIPELINING
250 8BITMIME
Questo e` un comportamento assolutamente sbagliato, perche` il server richiede (e pretende, per farmi da relay) una autenticazione nel primo caso, mentre non richiede (e rifiuta in ogni caso) una autenticazione nel secondo caso. Due comportamenti diversi che non sono prevedibili e che non sono coerenti fra loro.
Apple Mail in compenso si comporta in maniera troppo rigida; se gli imposto l’autenticazione SMTP lui pretende di usarla, e rifiuta di mandare mail se il server remoto non gli consente di autenticarsi.
Il risultato e` che inviare mail da Apple Mail a un server Plesk in modo affidabile e ripetibile e` impossibile. Se imposto l’autenticazione SMTP, l’invio fallisce nel caso il cui io abbia prima fatto una sessione POP3. Se non la imposto, l’invio fallisce nel caso in cui io non abbia prima fatto una sessione POP3.
Credo che gli autori di Plesk e gli autori di Apple Mail dovrebbero ripassare la Legge di Postel. “be conservative in what you do, be liberal in what you accept from others”.
Lascia un commento