FP_SMTP_SET_CONNECTION

Impostazioni server per connessione SMTP

Questa istruzione FP definisce le impostazioni server per la connessione al client SMTP specificato nella CPU in base a parametri specifici.

Parametri

Ingresso

sAccount(STRING)

Impostare i dati dell'account con nome, indirizzi, numero della porta e metodo di autenticazione.

  • Nome source (parametro opzionale)

    Parola chiave: NAME

  • Indirizzo e-mail source (parametro richiesto)

    Parola chiave: FROM

    Sintassi: 'FROM='

  • Indirizzo IP o nome host (parametro richiesto).

    • Indirizzo IP

      Per un indirizzo IP, specificare la parola chiave IPv4 o IPv6 all'inizio.

      Sintassi per IPv4: p.es. 'IPv4=111.122.133.144'

      Sintassi per IPv6: p.es. 'IPv6=1111:122:2:1555:0:0:1888'

      Si ricorda che per gli indirizzi Ipv4 vi sono restrizioni di intervallo. Quando un indirizzo IP non valido viene specificato con un'istruzione, non vi saranno errori di funzionamento, ma l'uscita bError verrà impostata su TRUE.

    • Nome host

      Parola chiave: HOST

      Sintassi: 'HOST=SMTP.pidsx.com'

  • Numero porta (parametro opzionale)

    Parola chiave: 'PORT'

    Sintassi: 'PORT=xxxxx' (default: 25)

    Intervallo: 1–65535

  • Autenticazione SSL3/TSL1 (parametro opzionale). Specificare se utilizzare o meno l'autenticazione SSL3/TSL1.

    Parole chiave:

    • SSL: Utilizza SSL3/TLS1

    • NON: SSL3/TLS1 non utilizzato (default)

Esempi:

  1. Impostare FP7_001 come nome source, "pana@pana.com" come indirizzo e-mail source, 102.244.2.110 come indirizzo IP e utilizzare la porta 25 con autenticazione SSL3/TLS1: 'NAME=FP7_001,FROM=pana@pana.com,IPv4=192.255.2.10,PORT=25,SSL'

  2. Mantenere il nome source corrente, impostare "sunx@sunx.com" come indirizzo e-mail source, 1222::a8dd:0:0:6666 come indirizzo IP e utilizzare la porta 100 con autenticazione SSL3/TLS1: ',FROM=sunx@sunx.com,IPv6=1111:1222::a8dd:0:0:6666,PORT=100,SSL'

  3. Impostare FP7_002 come nome source, "pewsunx@pewsunx.com" come indirizzo e-mail source, "SMTPmailserver.com" come nome host e utilizzare la porta 1000 senza autenticazione: 'NAME=FP7_002,FROM=pewsunx@pewsunx.com,HOST=SMTPmailserver.com,PORT=1000,NON'

  4. Impostare FP7_002 come nome source, "pewsunx@pewsunx.com" come indirizzo e-mail source, "SMTPmailserver.com" come nome host. Non modificare le impostazioni per il numero di porta e l'autenticazione: 'NAME=FP7_002,FROM=pewsunx@pewsunx.com,HOST=SMTPmailserver.com'

sLogin(STRING)

Impostare i dati di login

  • Metodo di autenticazione SMTP (parola chiave richiesta)

    Parole chiave:

    • CRAM: viene utilizzato CRAM-MD5

    • PLAIN1: viene utilizzato PLAIN1 (ID/PASS)

    • PLAIN2: viene utilizzato PLAIN2 (ID/PASS)

    • LOGIN: viene utilizzato LOGIN

  • Account (max. 32 caratteri)

    Parola chiave: ACCOUNT

    Sintassi: 'ACCOUNT=xxx' (default: root). Utilizzare 'ACCOUNT=' per eliminare l'account.

  • Password (max. 32 caratteri, maiuscole e minuscole consentite)

    Parola chiave: PASS

    Sintassi: 'PASS=xxx' (default: root). Utilizzare'PASS=' per eliminare la password.

Per questo parametro esistono altre due parole chiave disponibili:
  • NOUSE: L'impostazione per il metodo di autenticazione SMTP verrà ignorata.

  • KEEP: Mantiene le impostazioni di login attuali.

Esempi:

  1. Impostare CRAM-MD5 come metodo di autenticazione SMTP per l'account "sunx" con password "control": 'CRAM,ACCOUNT=sunx,PASS=control'

  2. Impostare CRAM-MD5 come metodo di autenticazione SMTP per l'account "root" ed eliminare la password: 'CRAM,ACCOUNT=root,PASS='

  3. Impostare PLAIN1 come metodo di autenticazione SMTP, eliminare il nome account, utilizzare la password "SUNX": 'PLAIN1,ACCOUNT=,PASS=SUNX'

  4. Impostare PLAIN2 come metodo di autenticazione SMTP, eliminare il nome account e la password: 'PLAIN2,ACCOUNT=,PASS='

  5. Impostare LOGIN come metodo di autenticazione SMTP per l'account "panasonic" e mantenere la password già impostata: 'PLAIN2,ACCOUNT=panasonic'

  6. Impostare CRAM-MD5 come metodo di autenticazione SMTP per il nome account già specidicato e impostare la password "SUNX": 'CRAM,,PASS=SUNX'

  7. Non utilizzare un metodo di autenticazione SMTP, non utilizzare un account, non modificare la password: 'NOUSE'

  8. Mantenere il metodo di autenticazione SMTP, l'account e la password 'KEEP'

sCommunication(STRING)

Impostare i parametri di comunicazione opzionali come richiesto. Si ricorda che la lingua di default dell'e-mail è impostata sul Giapponese.

  • Dimensione massima dell'e-mail

    Parola chiave: MAILSIZE

    Sintassi: 'MAILSIZE=xxx' (default: 100)

    Intervallo: 1–10240KB

  • Timeout connessione

    Parola chiave: TOUT

    Sintassi: 'TOUT=xxx' (default: 60 secondi)

    Intervallo: 30–300 secondi

  • Numero di tentativi

    Parola chiave: RTRY

    Sintassi: 'RTRY=x' (default: 3 volte)

    Intervallo: 0–3

  • Intervallo tentativi

    Parola chiave: RTTM

    Sintassi: 'RTTM=xxxxx' (default: 600 secondi)

    Intervallo: 10–86400 secondi

    Il valore può essere specificato per 10 secondi. È arrotondato per difetto a 10.

    Esempio: Quando si specificano 38 secondi, vengono impostati 30 secondi.

  • Lingua da utilizzare per l'oggetto e il testo dell'e-mail.

    Parole chiave:

    • JPN: Giapponese (default)

    • ENG: Inglese

Per questo parametro esistono altre due parole chiave disponibili:
  • INITIAL: Resets connection timeout, number of retries, and the retry interval to the default settings.

  • KEEP: Mantiene le impostazioni di comunicazione attuali.

Esempi:

  1. Imposta la dimensione massima dell'e-mail: 1000KB, timeout di connessione: 30 secondi, numero di tentativi: 2, intervallo tentativi: 500 secondi, lingua dell'e-mail: Giapponese: 'MAILSIZE=1000,TOUT=30,RTRY=2,RTTM=500,JPN'

  2. Imposta la dimensione massima dell'e-mail: 10000KB, timeout di connessione: 270 secondi, nessun tentativo, intervallo tentativi: 4900 secondi, lingua dell'e-mail: Inglese: 'MAILSIZE=10000,TOUT=270,RTRY=0,RTTM=4900,ENG'

  3. Imposta la dimensione massima dell'e-mail: 500KB, timeout di connessione: 30 secondi, numero di tentativi: 3, intervallo tentativi: 200 secondi, lingua dell'e-mail: non modificare: 'MAILSIZE=500,TOUT=30,RTRY=3,RTTM=200'

  4. Imposta la dimensione massima dell'e-mail: 5000KB, timeout di connessione: non modificare, numero di tentativi: 5, intervallo tentativi: 3000 secondi, lingua dell'e-mail: Inglese: 'MAILSIZE=5000,,RTRY=5,RTTM=3000,ENG'

  5. Resetta alle impostazioni di default (dimensione massima dell'e-mail: 100KB, timeout di connessione: 60 secondi, numero di tentativi: 3, intervallo tentativi: 600 secondi, lingua di default dell'e-mail: Giapponese): 'INITIAL'

  6. Mantieni tutte le impostazioni attuali: 'KEEP'

Uscita

bError (BOOL)

Passa a TRUE nelle seguenti condizioni:

  • se un timeout della connessione viene superato

  • se un indirizzo IP non è valido

Quando si verifica un errore, controllare la variabile di sistema sys_iEthernetConnectionErrorCode per verificare il numero di codice di errore.

Note

  • Separa tutte le voci di parole chiave con una virgola, p.es. 'NAME=abcd,FROM=sender@server.com'

  • Il numero di caratteri per dati stringa non deve superare 256.

  • Questa istruzione non è disponibile nei programmi di interrupt.

  • I caratteri maiuscoli e minuscoli possono essere utilizzati per specificare le parole chiave. Tuttavia l'oggetto, il testo dell'e-mail e il nome del file dell'allegato fanno distinzione tra maiuscole e minuscole.

  • Prima di eseguire l'istruzione, assicurarsi che sys_bIsEthernetInitializing sia FALSE. sys_bIsEthernetInitializing passa a TRUE quando l'istruzione viene eseguita. Se si esegue l'istruzione mentresys_bIsEthernetInitializing è TRUE, si verifica un errore.

  • L'istruzione può essere eseguita solo se il flag di richiesta di trasferimento per l'impostazione di trasferimento specificata o il numero nLogID specificato è FALSE. Quando la richiesta di trasferimento è TRUE, si verifica un errore di funzionamento.

  • Quando questa istruzione è stata eseguita correttamente, le variabili di sistema sys_bIsCarry e sys_iEthernetConnectionErrorCode vengono resettate.

  • Quando si verifica un errore, controllare la variabile di sistema sys_iEthernetConnectionErrorCode per verificare il numero di codice di errore.

Flag di errore

sys_bIsOperationErrorHold (passa a TRUE e resta TRUE)
  • se un valore specificato per un parametro è fuori dall'intervallo utilizzabile.

  • se la stessa parola chiave è specificata più di una volta

  • Se il flag di richiesta di trasmissione e-mail per l'impostazione di trasferimento specificata è "TRUE: Trasferimento richiesto".

  • Se il flag di richiesta di trasferimento per un numero nLogID specificato è TRUE, p.es. se sys_blsLog0DataRecordingActive è TRUE.

  • se l'istruzione viene eseguita in un programma di interrupt

  • se il numero di caratteri per dati stringa supera 256.

sys_bIsOperationErrorNonHold (passa a TRUE per una scansione)
  • se un valore specificato per un parametro è fuori dall'intervallo utilizzabile.

  • se la stessa parola chiave è specificata più di una volta

  • Se il flag di richiesta di trasmissione e-mail per l'impostazione di trasferimento specificata è "TRUE: Trasferimento richiesto".

  • Se il flag di richiesta di trasferimento per un numero nLogID specificato è TRUE, p.es. se sys_blsLog0DataRecordingActive è TRUE.

  • se l'istruzione viene eseguita in un programma di interrupt

  • se il numero di caratteri per dati stringa supera 256.

sys_bIsCarry (passa a TRUE per una scansione)
  • se l'istruzione viene eseguita con un indirizzo IP non corretto, sys_iEthernetConnectionErrorCode viene impostato su "1: Viene specificato un indirizzo IP non corretto"

  • se l'istruzione viene eseguita durante l'inizializzazione di Ethernet, sys_iEthernetConnectionErrorCode viene impostato su "11: Ethernet viene inizializzato".

Esempio

Intestazione del POU

Tutte le variabili di ingresso e uscita utilizzate per programmare questa funzione sono state dichiarate nell'intestazione del POU. La stessa intestazione del POU è utilizzata per tutti i linguaggi di programmazione.

	VAR
		bError: BOOL:=FALSE;
		bSetConnection: BOOL:=FALSE;
	END_VAR

Corpo del POU

Se bSetConnection passa da FALSE a TRUE e sys_bIsEthernetInitializing è impostato su FALSE, l'istruzione viene eseguita.

Corpo LD

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 12 ;
        NETWORK_BODY
B(B_VARIN,,'NAME=FP7_001~FROM=pewsunx@pewsunx.com~HOST=smtpmailserver.com~PORT=1000~NON',37,6,39,8,);
B(B_VARIN,,'CRAM~ ACCOUNT=sunx~PASS=control',37,7,39,9,);
B(B_VARIN,,'MAILSIZE=1000~TOUT=30~RTRY=2~RTTM=500~ENG',37,8,39,10,);
B(B_CONTACT,,bSetConnection,4,1,6,3,R);
B(B_VAROUT,,bError,53,6,55,8,);
B(B_CONTACT,,sys_bIsEthernetInitializing,13,1,15,3,N);
B(B_F,FP_SMTP_SET_CONNECTION!,,39,4,53,10,,?DEN?DsAccount?DsLogin?DsCommunication?AENO?CbError);
L(6,2,13,2);
L(1,2,4,2);
L(15,2,15,6);
L(15,6,39,6);
L(1,0,1,12);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Corpo ST

IF DF(bSetConnection) And not sys_bIsEthernetInitializing then
    FP_SMTP_SET_CONNECTION(sAccount := 'NAME=FP7_001,FROM=pewsunx@pewsunx.com,HOST=smtpmailserver.com,PORT=1000,NON',
                           sLogin := 'CRAM, ACCOUNT=sunx,PASS=control',
                           sCommunication := 'MAILSIZE=1000,TOUT=30,RTRY=2,RTTM=500,ENG', 
                           bError => bError);
END_IF;

L'ultima revisione: 2024-04-25Feedback su questa paginaPanasonic hotline