Vai al contenuto
PLC Forum


Invio eMail da CPU S7-1200


Vindro

Messaggi consigliati

Salve, avrei bisogno di qualche consiglio su come inviare eMail da una CPU S7-1200.

Premetto che ho già guardato e riguardato più volte vari forum, documentazione, ecc, ma senza alcun risultato 🤔

 

Vengo subito al dunque. Come prevedibile dal titolo della discussione, la questione è come inviare delle mail da una CPU S7-1200. Questa CPU è collegata tramite router ADSL al PC con cui la programmo ( uso il TIA Portal V15.1 ). Chiaramente il cablaggio è fatto con cavo ethernet e la CPU è connessa a Internet, infatti ho già sperimentato il web server. Il programma con cui sto facendo le prove è il seguente e come visibile nel segmento 3, dopo la richiesta di invio, ricevo come risposta l'errore 16#8014.

 

image.thumb.png.d0fd306f0ac6e1b005c90af3438a8e69.png

 

La DB "ParM"  è compilata come da manuale, quindi con i vari parametri tra cui indirizzo del server SMTP del destinatario, ricavato facendo il comando " ping smtp.gmail.com ", nome utente e password. Ho usato apposta gmail perchè è quella che ho visto usare di più nei vari esempi e che quindi dovrebbe essere anche quella più funzionale ... al meno in teoria.

 

Dopo varie prove ho però sempre lo stesso risultato: bit di "busy" a 1 e poi l'errore 16#8014. Il tempo di watchdog e impostato a 2 minuti !!!

 

Idee, consigli, suggerimenti ?

 

Link al commento
Condividi su altri siti


Sul forum è stato trattato più volte questo argomento.

Il tuo provider di posta accetta il protocollo utilizzato? Dipende dalla porta che utilizza.

I primi utilizzavano la 25 poi per sicurezza è andata in Disuso.

Esempio con wireshark puoi tracciare cosa mandi e cosa ti risponde il server di posta.

Avevo fatto varie prove dovrei cercare negli appunti con provider diversi per testare le diverse possibilità.

 

Link al commento
Condividi su altri siti

 

 

@max.bocca grazie della risposta

 

Dopo varie prove ripetute volte e più volte, questo è quello che vedo.

 

Invio mail tramite SMTP di Libero:

  • Al comando " ping smtp.libero.it " Il server risponde in maniera completa indicando indirizzo, byte, durata e TTL;
  • Se provo a inviare dal blocco TMAIL_C viene fuori l'errore 16#8550 il quale indica che non posseggo i diritti di accesso;
  • Le porte SMTP disponibili sono 25 e 465.

Invio mail tramite SMTP di Tiscali:

  • Al comando " ping smtp.tiscali.it " Il server risponde ma in maniera parziale indicando solo l'indirizzo IP ( Richiesta scaduta );
  • Se provo a inviare dal blocco TMAIL_C viene fuori l'errore 16#8010 il quale indica che c'è stato un errore nella creazione del collegamento;
  • L'unica porta SMTP disponibili è la 465.

Invio mail tramite SMTP di gMail:

  • Al comando " ping smtp.gmail.com " Il server risponde in maniera completa indicando indirizzo, byte, durata e TTL;
  • Se provo a inviare dal blocco TMAIL_C viene fuori l'errore 16#8014 il quale indica che non è possibile creare un collegamento;
  • Le porte SMTP disponibili sono 25, 465 e 587.

Da quello che so io, la porta utilizzata dal PLC per inviare mail è la 25 e questa porta non può essere modifica da lui. Occorre perciò avere a disposizione un server SMTP che possa lavorare con questa porta o in alternativa, utilizzare un servizio sul web che lo permetta. Ne consegue che:

  • Il server di Libero è stato raggiunto ma c'è qualche problema di autenticazione e non so dove;
  • Il server di Tiscali è quello che da più problemi e per altro non usa la porta 25;
  • Il server di gMail avendo come predifinata la porta 25 dovrebbe andare ma non va.

Una cosa che non mi è molto chiara è il "dove" impostare ( ove possibile ) queste porte sul server del destinatario, per esempio in gMail non ho trovato alcuna impostazione che faccia questo, la stessa cosa vale per Tiscali e Libero. Se non posso far combiaciare le porte tra lato PLC e lato server è ovvio che diventa un problema. In alternativa volevo provare ad utilizzare il servizio SMTP di Mailjet, il quale permette di impostare il numero di porta.

 

Non saprei cos'altro guardare. Suggerimenti, idee e consigli sono ovviamente ben accettati !!!

 

 

Link al commento
Condividi su altri siti

Guardando il link porposto nel post precdente, ho avuto la conferma che la porta utilizzata è la 25 ma questa porta è spesso bloccata dai server "tradizionali" tipo Libero, Tiscali, ecc. E' altrettanto vero che tale porta non può essere cambiata a livello di PLC. Sempre come specificato sempre nel link, il mio PLC è programmato con TIA Portal V15.1 in cui è configurata una CPU 1212C DC/DC/DC V4.1, la quale dovrebbe andare bene perchè superiore alla V4.0

 

Questa è la configurazione del router utilizzata necessaria per il web server, collegamento online da remoto, ecc

 

image.png.cd58c409a7216554464739123479b12f.png

 

Da quanto ho capito, queste impostazioni non valgono per l'invio delle mail e quindi vanno bene così come sono.

 

Proverò a creare un server SMTP attraverso la piattaforma Mailjet e su cui posso impostare una porta ben definita, in questo caso la 25. Forse non è la soluzione migliore dato che per funzionare bisogna prima creare un sito con tanto di dominio ecc, ma a questo punto ...

 

Link al commento
Condividi su altri siti

Finalmente ho risolto il problema e riporto qui la soluzione. Premetto che queste informazioni le ho raccolte guardando varie fonti ( tra cui il video postato precedentemente ) e non ho trovato nulla che riporta in maniera chiara e completa tutto questo ... Perciò vi conviene segnarvele da qualche parte 🤣

 

Per l'invio di mail, il TIA rende disponibili due istruzioni:

  1. TM_MAIL;
  2. TMAIL_C.

 

Oltre a una DB di istanza, c'è associata una DB globale, la quale può definire l'indirizzo del server SMTP utilizzando principalmente due tipi di dato:

  1. TMail_V4;
  2. TMail_QDN.

 

Una cosa importante da sapere: Il tipo TMail_QDN è riconosciuto solo a partire dalla V6 dell'istruzione TMAIL_C !!!

 

In tutto ciò, bisogna tener conto delle porte utilizzate dai server di posta eletttronica. Quelle predefinite sono le seguenti:

  • Porta 25 > E' la più vecchia e non ha certificati di sicurezza associati;
  • Porta 465 > E' più recente e funziona con la sicurezza SSL;
  • Porta 587 > E' più recente e funziona con la sicurezza TLS.

 

La porta 25 è ancora utilizzata da alcuni servizi inglobati in dispositivi particolari come i PLC, ma si presenta spesso un problema di incompatibilità con i server di posta presenti in Internet, in quanto bloccano tale porta, perchè, non avendo certificati di sicurezza associati, viene considerata come una connessione non sicura.

 

In definitiva, per permettere l'invio di mail dal PLC, si può agire in uno dei due seguenti modi, i quali dipendono principalmente dall'ubicazione del server SMTP:

  1. SMTP installato nella rete locale > Utilizzare TM_MAIL + TMail_V4 ( porta 25 - connessione non sicura );
  2. SMTP installato in Internet > Utilizzare TMAIL_C + TMail_QDN ( altre porte - connessione sicura ).

 

Con queste due configurazioni, l'invio funziona bene. Esse si possono anche combinare tra loro ma, a causa di questi certificati di sicurezza, il loro funzionamento non è garantito.

 

 

 

Modificato: da Vindro
aggiunte delle info
Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...