L’insostenibile difficoltà di mandare una mail

round-hole-square-pegSe 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”.

 

Autore: Kurgan

Sistemista Linux con la fissa della sicurezza

13 pensieri riguardo “L’insostenibile difficoltà di mandare una mail”

  1. Ad essere sincero mi sembra più corretto il comportamento di Apple mail.

    Autenticarmi non serve solo al server per essere sicuro che io sia io e non uno spammer ma serve anche a me per essere sicuro di passare attraverso il MIO server e non tramite qualche strana redirect.

    1. No.
      Il metodo per autenticare il server e’ STARTTLS, non AUTH.
      Se l’handshake SMTP non ti propone AUTH non devi pretenderlo perche’ con EHLO tu chiedi l’elenco delle estensioni supportate.
      Tutti gli altri MUA, se l’MTA non pretende AUTH, non lo forzano.

      Anche perche’ se vuoi fare un MitM ti basterebbe chiedere AUTH e accettare qualsiasi combinazione, quindi la “sicurezza” che ti darebbe AUTH contro un MitM sarebbe davvero effimera.

  2. Uso Plesk ed uso Mail ma questo problema non l’ho riscontrato o forse ho capito male.
    Nelle versioni 10 e 11 di Plesk negli strumenti ed impostazioni è presente la pagina di gestione per gestire il relay

    Si può bloccare, usare POP3 e SMTP dopo x minuti, o usare semplicemente l’autenticazione SMTP.

    Ho diversi domini su diverse macchine tutte carrozzate con Plesk e riesco sempre a mandare la mail.

    ( dimenticavo l’accesso alla sezione della MAIL su Plesk credo sia riservata agli amministratori)

    http://download1.parallels.com/Plesk/PP10/10.4/Doc/it-IT/online/plesk-administrator-guide/index.htm?fileName=59430.htm

    1. Non lo so che versione sia. E` un problema che mi si e` presentato con un Plesk che non gestisco io (io non lo uso proprio). Pero` ti assicuro che il comportamento e` quello che vedi.

        1. Ok, allora il problema c’e`, in effetti. E io ripeto che e` un problema. E` un doppio problema. Plesk in quella condizione si comporta in modo non prevedibile, e Apple Mail si comporta in modo non flessibile.

  3. Non che Apple Mail non abbia i suoi problemi, ma la gestione dei server smtp non è male. Quello che spiazza nella configurazione smtp, per lo meno rispetto a outlook & c., è che i dati del server smtp non sono per forza legati al singolo account, ma possono essere condivisi/utilizzati da più account, ed un account può tentare l’invio anche attraverso server smtp diversi da quello predefinito. Non so se funziona, visto che il server risulta comunque ‘raggiungibile’, ma una soluzione potrebbe essere inserire 2 server smtp, uno con autenticazione ed uno senza, (‘modifica elenco dei server smtp’ nel menu popup) . Nei dati dell’account email sceglierne uno dei due come predefinito e togliere lo spunto ‘utilizza solo questo server’. Al momento dell’invio Mail tenterà di collegarsi prima al server predefinito, nel caso fallisca proverà a turno tutti i server smtp configurati. Eventualmente nelle preferenze generali puoi provare a cambiare l’impostazione ‘se il server in uscita non è disponibile’

    1. Ho visto che consente di usare SMTP multipli indipendentemente dall’account… Ma il problema non e` quello. Il problema e` che manca di flessibilita`, come ha anche giustamente detto Lrosa un paio di commenti addietro.

  4. 1) sui nuovi plesk > 11.5 hanno abbandonato Qmail (abemus papam) e ora gira tutto su postfix.
    2) Io per risolvere questo genere di anomalie (che descrivi), sui nuovi server che metto in produzione disattivo il POP before SMTP. In quel modo il client è obbligato ad autenticarsi e no ci sono dubbi.
    E’ traumatico perchè molti clienti non hanno idea di come configurare l’SMTP autenticato ma una volta fatto non hai più “misteri della fede”

      1. hai ragione, forse il mio è stato solo un sogno, mi sembrava di avere letto in un release notes “depletion of qmail support”. ma ricercandolo non trovo niente di simile! Grazie per l’errata corr!

    1. Sgala, oramai il problema e` chiaro e la soluzione anche. Resta il fatto che Plesk dovrebbe accettare comunque l’autenticazione SMTP anche dopo il POP before SMTP e non lo fa.

Spazio per un commento