Knowledge Base

L'archivio documentale di supporto ai prodotti Achab.

KB52040 MDaemon - problemi di ricezione email dal mondo Microsoft 

Ultimo aggiornamento: 12/07/2017
Articolo valido per MDaemon versione: 17.0.2

Non ricevo email da alcuni mittenti; nei log di MDaemon trovo molti socket error. Qual è il problema?

Recentemente sono stati segnalati diversi casi in cui mail provenienti da determinati mittenti non sono arrivate al destinatario.
Rovistando nei log di MDaemon si può trovare che molte di queste email provengono da host di questo tipo:
EURNN-VE1-obe.outbound.protection.outlook.com
Presumibilmente si tratta di email inviate da server Exchange o da Office365 che passano per un servizio di protezione chiamato Microsoft Exchange On-line Protection (EOP).

In una sessione SMTP "normale", l'host mittente quando è pronto ad inviare il messaggio vero e proprio, invia alla parte ricevente il comando "DATA" e quando riceve l'ok dalla parte ricevente ("354 Enter mail, end with .") inizia il trasferimento dei dati. La parte ricevente può fare dei controlli, antispam ad esempio, sui dati che sta ricevendo; quando ha terminato, segnala al mittente che è stato salvato il messaggio e a questo punto il mittente può chiudere la sessione inviando il comando "QUIT" sapendo che il messaggio è stato preso in carico dalla parte ricevente (per cui il proprio compito è effettivamente terminato). Durante il trasferimento dei dati MDaemon li salva in un file temporaneo. Terminati i controlli "in-line", salva il messaggio nella coda di ingresso (inbound).

In MDaemon, le sessioni che provengono da questo servizio terminano in modo anomalo. Presumibilmente, la parte mittente quando ha terminato l'invio dei dati interrompe la connessione, considerando terminato il proprio compito. A questo punto, se MDaemon deve inviare delle risposte alla parte mittente trova il canale di comunicazione interrotto e riporta un socket error nei log.

Se la connessione viene interrotta prima che MDaemon salvi il messaggio nella coda di ingresso (Esempio 1), con le impostazioni predefinite, il messaggio viene cancellato e non arriverà al destinatario. Il mittente sarà ignaro di ciò in quanto il proprio server, ritenendo che il messaggio sia stato consegnato, non notificherà nulla al mittente.
Se la connessione viene interrotta dopo che MDaemon ha salvato il messaggio nella coda di ingresso, il messaggio viene comunque consegnato al destinatario.

Esempio 1: Sessione interrotta prima della presa in carico del messaggio da parte di MDaemon.

Wed 2017-06-21 15:22:03.158: 05: Session 320326; child 0001
Wed 2017-06-21 15:22:03.158: 05: Accepting SMTP connection from 104.47.42.136:64864 to 192.168.44.3:25
Wed 2017-06-21 15:22:03.158: 03: --> 220 mail.dominio.it ESMTP MDaemon 17.0.2; Wed, 21 Jun 2017 15:22:03 +0200
Wed 2017-06-21 15:22:03.318: 02: <-- EHLO NAM03-BY2-obe.outbound.protection.outlook.com
Wed 2017-06-21 15:22:03.318: 03: --> 250-mail.dominio.it Hello NAM03-BY2-obe.outbound.protection.outlook.com [104.47.42.136], pleased to meet you
....
Wed 2017-06-21 15:22:04.798: 02: <-- DATA
Wed 2017-06-21 15:22:04.798: 01: Creating temp file (SMTP): e:\programmi\mdaemon\queues\temp\md50000072251.tmp
Wed 2017-06-21 15:22:04.798: 03: --> 354 Enter mail, end with
.
Wed 2017-06-21 15:22:05.439: 01: Message size: 52371 bytes
...
Wed 2017-06-21 15:22:05.463: 06: Passing message through AntiVirus (Size: 52371)...
...
Wed 2017-06-21 15:22:05.486: 06: ---- End AntiVirus results
Wed 2017-06-21 15:22:05.832: 11: Passing message through Outbreak Protection...
...
Wed 2017-06-21 15:22:05.833: 11: ---- End Outbreak Protection results
Wed 2017-06-21 15:22:05.833: 07: Passing message through Spam Filter (Size: 52371)...
...
Wed 2017-06-21 15:22:09.247: 07: ---- End SpamAssassin results
Wed 2017-06-21 15:22:09.247: 07: Spam Filter score/req: 0.80/12.0
Wed 2017-06-21 15:22:09.411: 04: Socket error sending response to DATA
Wed 2017-06-21 15:22:09.412: 04: *  Socket error 10054 - Connessione reimpostata dall'altro lato.
Wed 2017-06-21 15:22:09.412: 04: SMTP session terminated (Bytes in/out: 53679/2395)
Wed 2017-06-21 15:22:09.412: 01: ----------


Esempio 2: Sessione interrotta dopo la presa in carico del messaggio da parte di MDaemon.

Wed 2017-06-21 21:29:20.305: 01: ----------
Wed 2017-06-21 21:30:32.232: 05: Session 321655; child 0001
Wed 2017-06-21 21:30:32.232: 05: Accepting SMTP connection from 104.47.1.58:30394 to 192.168.44.3:25
Wed 2017-06-21 21:30:32.232: 03: --> 220 dominio.it ESMTP MDaemon 17.0.2; Wed, 21 Jun 2017 21:30:32 +0200
Wed 2017-06-21 21:30:32.261: 02: <-- EHLO EUR01-VE1-obe.outbound.protection.outlook.com
....
Wed 2017-06-21 21:30:32.938: 02: <-- DATA
Wed 2017-06-21 21:30:32.938: 01: Creating temp file (SMTP): e:\programmi\mdaemon\queues\temp\md50000073796.tmp
Wed 2017-06-21 21:30:32.938: 03: --> 354 Enter mail, end with
.
....
Wed 2017-06-21 21:30:33.485: 07: ---- End SpamAssassin results
Wed 2017-06-21 21:30:33.485: 07: Spam Filter score/req: 0.00/12.0
Wed 2017-06-21 21:30:33.542: 01: Creazione messaggio successful: e:\programmi\mdaemon\queues\inbound\md50000032628.msg
Wed 2017-06-21 21:30:33.542: 03: --> 250 2.6.0 Ok, message saved
>
Wed 2017-06-21 21:30:33.542: 04: *  Socket error 10054 - Connessione reimpostata dall'altro lato.
Wed 2017-06-21 21:30:33.543: 01: SMTP session successful (Bytes in/out: 18331/2489)
Wed 2017-06-21 21:30:33.543: 01: ----------


Per ovviare a questo problema, si può abilitare l'impostazione:
Impostazioni > Preferenze > Correzione > "Accetta il messaggio anche se la connessione viene chiusa dopo il comando DATA".

Questo articolo ti è stato utile?

Lasciaci un feedback

Hai trovato delle inesattezze, vorresti fare delle integrazioni all'articolo o anche solo darci un tuo parere? Scrivici liberamente utilizzando il modulo sottostante.

 

Le tue informazioni non verranno pubblicate, ma inviate privatamente al responsabile della Knowledge Base.