FP_SMTP_SET_CONNECTION

Ajustes del servidor para la conexión SMTP

Esta instrucción FP define los ajustes del servidor para la conexión con el cliente SMTP especificado en la CPU de acuerdo con los parámetros indicados.

Parámetros

Entrada

sAccount(STRING)

Establecer los datos de la cuenta con nombres y direcciones, así como el número de puerto y el método de autenticación.

  • Nombre de origen (parámetro opcional)

    Palabra clave: NAME

  • Dirección de correo electrónico origen (parámetro requerido)

    Palabra clave: FROM

    Sintaxis: 'FROM='

  • Dirección IP o nombre del host (parámetro requerido).

    • Dirección IP

      Para una dirección IP, especificar la palabra clave IPv4 o IPv6 al principio.

      Sintaxis para IPv4: por ejemplo, 'IPv4=111.122.133.144'

      Sintaxis para IPv6: por ejemplo, 'IPv6=1111:122:2:1555:0:0:1888'

      Tener en cuenta que para las direcciones IPv4 existen restricciones de rango. Cuando se especifica una dirección IP no válida con una instrucción, no habrá ningún error de operación, pero la salida bError se ajustará a TRUE.

    • Nombre del host

      Palabra clave: HOST

      Sintaxis: 'HOST=SMTP.pidsx.com'

  • Número de puerto (parámetro opcional)

    Palabra clave: 'PORT'

    Sintaxis: 'PORT=xxxxx' (por defecto: 25)

    Rango: 1–65535

  • Autenticación SSL3/TSL1 (parámetro opcional). Especificar si se utiliza o no la autenticación SSL3/TSL1.

    Palabras clave:

    • SSL: Usar SSL3/TLS1

    • NON: SSL3/TLS1 no se utiliza (por defecto)

Ejemplos:

  1. Establecer FP7_001 como nombre de origen, "pana@pana.com" como dirección de correo electrónico de origen, 102.244.2.110 como dirección IP y usar el puerto 25 con SSL3/TLS1 autenticación: 'NAME=FP7_001,FROM=pana@pana.com,IPv4=192.255.2.10,PORT=25,SSL'

  2. Mantener el nombre de origen como está, establecer"sunx@sunx.com" como dirección de correo electrónico de origen, 1222::a8dd:0:0:6666 como dirección IP y utilizar el puerto 100 con autenticación SSL3/TLS1: ',FROM=sunx@sunx.com,IPv6=1111:1222::a8dd:0:0:6666,PORT=100,SSL'

  3. Establecer FP7_002 como nombre de origen, "pewsunx@pewsunx.com" como dirección de correo electrónico origen, "SMTPmailserver.com" como nombre del host y usar el puerto 1000 sin autenticación: 'NAME=FP7_002,FROM=pewsunx@pewsunx.com,HOST=SMTPmailserver.com,PORT=1000,NON'

  4. Establecer FP7_002 como nombre de origen, "pewsunx@pewsunx.com" como dirección de correo electrónico origen, "SMTPmailserver.com" como nombre del host. No cambiar los ajustes de número de puerto y autenticación: 'NAME=FP7_002,FROM=pewsunx@pewsunx.com,HOST=SMTPmailserver.com'

sLogin(STRING)

Configurar los datos de inicio de sesión

  • Método de autenticación SMTP (palabra clave necesaria)

    Palabras clave:

    • CRAM: se usa CRAM-MD5

    • PLAIN1: se usa PLAIN1 (ID/PASS)

    • PLAIN2: se usa PLAIN2 (ID/PASS)

    • LOGIN: se usa LOGIN

  • Cuenta (máx.32 caracteres)

    Palabra clave: ACCOUNT

    Sintaxis: 'ACCOUNT=xxx' (por defecto: root). Usar 'ACCOUNT=' para borrar la cuenta.

  • Contraseña (máximo 32 caracteres, se permiten mayúsculas y minúsculas)

    Palabra clave: PASS

    Sintaxis: 'PASS=xxx' (por defecto: root). Usar 'PASS=' para borrar la contraseña.

Para este parámetro, hay disponibles dos palabras clave adicionales:
  • NOUSE: La configuración del método de autenticación SMTP será ignorada.

  • KEEP: Mantiene los ajustes de inicio de sesión actuales.

Ejemplos:

  1. Establecer CRAM-MD5 como método de autenticación SMTP para la cuenta "sunx" con la contraseña "control": 'CRAM,ACCOUNT=sunx,PASS=control'

  2. Establecer CRAM-MD5 como método de autenticación SMTP para la cuenta "root" y borrar la contraseña: 'CRAM,ACCOUNT=root,PASS='

  3. Establecer PLAIN1 como método de autenticación SMTP, eliminar el nombre de la cuenta, utilizar la contraseña "SUNX": 'PLAIN1,ACCOUNT=,PASS=SUNX'

  4. Establecer PLAIN2 como método de autenticación SMTP, borrar el nombre de la cuenta y la contraseña: 'PLAIN2,ACCOUNT=,PASS='

  5. Establecer LOGIN como método de autenticación SMTP para la cuenta "panasonic" y mantener la contraseña ya configurada: 'PLAIN2,ACCOUNT=panasonic'

  6. Establecer CRAM-MD5 como método de autenticación SMTP para el nombre de cuenta que ya se ha especificado y configurar la contraseña "SUNX": 'CRAM,,PASS=SUNX'

  7. No utilizar un método de autenticación SMTP, no utilizar una cuenta, no cambiar la contraseña: 'NOUSE'

  8. Mantener el método de autenticación SMTP, la cuenta y la contraseña: 'KEEP'

sCommunication(STRING)

Configure parámetros de comunicación opcionales como sea necesario. Tener en cuenta que el idioma por defecto del correo electrónico es el japonés.

  • Tamaño máximo del correo electrónico

    Palabra clave: MAILSIZE

    Sintaxis: 'MAILSIZE=xxx' (por defecto: 100)

    Rango: 1–10240KB

  • Tiempo de espera

    Palabra clave: TOUT

    Sintaxis: 'TOUT=xxx' (por defecto: 60 segundos)

    Rango: de 30 a 300 segundos

  • Número de reintentos

    Palabra clave: RTRY

    Sintaxis: 'RTRY=x' (por defecto: 3 veces)

    Rango: 0–3

  • Tiempo entre reintentos

    Palabra clave: RTTM

    Sintaxis: 'RTTM=xxxxx' (por defecto: 600 segundos)

    Rango: de 10 a 86400 segundos

    El valor se puede especificar de 10 en 10 segundos. Se redondeará a la baja al 10.

    Ejemplo: Cuando se especifica 38 segundos, se establecen 30 segundos.

  • Idioma a utilizar para el asunto y el texto del correo electrónico.

    Palabras clave:

    • JPN: Japonés (por defecto)

    • ENG: Inglés

Para este parámetro, hay disponibles dos palabras clave adicionales:
  • INITIAL: Restablece el tiempo de espera de la conexión, el número de reintentos y el intervalo de reintentos a los valores predeterminados.

  • KEEP: Mantiene los ajustes de comunicación actuales.

Ejemplos:

  1. Establecer el tamaño máximo del correo electrónico: 1000KB, tiempo de espera de la conexión: 30 segundos, número de reintentos: 2, intervalo de reintento: 500 segundos, idioma del correo electrónico: Japonés: 'MAILSIZE=1000,TOUT=30,RTRY=2,RTTM=500,JPN'

  2. Establecer el tamaño máximo del correo electrónico: 10000KB, tiempo de espera de la conexión: 270 segundos, sin reintentos, intervalo de reintento: 4900 segundos, idioma del correo electrónico: Inglés: 'MAILSIZE=10000,TOUT=270,RTRY=0,RTTM=4900,ENG'

  3. Establecer el tamaño máximo del correo electrónico: 500KB, tiempo de espera de la conexión: 30 segundos, número de reintentos: 3, intervalo de reintento: 200 segundos, idioma del correo electrónico: no cambiar: 'MAILSIZE=500,TOUT=30,RTRY=3,RTTM=200'

  4. Establecer el tamaño máximo del correo electrónico: 5000KB, tiempo de espera de la conexión: no cambiar, número de reintentos: 5, intervalo de reintento: 3000 segundos, idioma del correo electrónico: Inglés: 'MAILSIZE=5000,,RTRY=5,RTTM=3000,ENG'

  5. Restablecer la configuración por defecto (tamaño máximo del correo electrónico: 100KB, tiempo de espera de la conexión: 60 segundos, número de reintentos: 3, intervalo de reintento: 600 segundos, idioma del correo electrónico por defecto: Japonés): 'INITIAL'

  6. Mantener todos los ajustes actuales: 'KEEP'

Salida

bError (BOOL)

Pasa a TRUE bajo las siguientes condiciones:

  • si se supera el tiempo de espera de la conexión

  • si la dirección IP no es válida

Cuando se produce un error, consulte la variable del sistema sys_iEthernetConnectionErrorCode para conocer el número de código de error.

Observaciones

  • Separar todas las entradas de palabras clave por medio de una coma, p. ej., 'NAME=abcd,FROM=sender@server.com'

  • El número de caracteres de los datos de cadena no debe superar los 256.

  • Esta instrucción no está disponible en los programas de interrupción.

  • Se pueden utilizar mayúsculas y minúsculas para especificar las palabras clave. Sin embargo, el asunto, el texto del correo electrónico y el nombre del archivo adjunto distinguen entre mayúsculas y minúsculas.

  • Antes de ejecutar la instrucción, asegurarse de que sys_bIsEthernetInitializing es FALSE. sys_bIsEthernetInitializing pasa a TRUE cuando se ejecuta la instrucción. Cuando ejecuta la instrucción mientras sys_bIsEthernetInitializing es TRUE, se produce un error.

  • La instrucción solo puede ejecutarse cuando la bandera de solicitud de transferencia para el ajuste de transferencia o el número nLogID especificado es FALSE. Cuando la bandera de solicitud de transferencia es TRUE, se produce un error de operación.

  • Cuando esta instrucción se ha ejecutado con éxito, las variables del sistema sys_bIsCarry y sys_iEthernetConnectionErrorCode se reinician.

  • Cuando se produce un error, consulte la variable del sistema sys_iEthernetConnectionErrorCode para conocer el número de código de error.

Banderas de error

sys_bIsOperationErrorHold (pasa a TRUE y permanece TRUE)
  • Si el valor especificado para un parámetro está fuera del rango permitido.

  • Si se especifica la misma palabra clave más de una vez

  • Si la bandera de solicitud de transmisión de correo electrónico para la configuración de transferencia especificada es "TRUE: Transferencia solicitada".

  • Si la bandera de solicitud de transferencia para un número nLogID especificado es TRUE, p. ej., si sys_blsLog0DataRecordingActive es TRUE.

  • si la instrucción se ejecuta en un programa de interrupción

  • Si el número de caracteres de los datos de cadena supera los 256.

sys_bIsOperationErrorNonHold (pasa a TRUE para un ciclo de scan)
  • Si el valor especificado para un parámetro está fuera del rango permitido.

  • Si se especifica la misma palabra clave más de una vez

  • Si la bandera de solicitud de transmisión de correo electrónico para la configuración de transferencia especificada es "TRUE: Transferencia solicitada".

  • Si la bandera de solicitud de transferencia para un número nLogID especificado es TRUE, p. ej., si sys_blsLog0DataRecordingActive es TRUE.

  • si la instrucción se ejecuta en un programa de interrupción

  • Si el número de caracteres de los datos de cadena supera los 256.

sys_bIsCarry (pasa a TRUE para un ciclo de scan)
  • Si la instrucción se ejecuta con una dirección IP incorrecta, sys_iEthernetConnectionErrorCode pasa a "1: Se ha especificado una dirección IP incorrecta"

  • si la instrucción se ejecuta durante la inicialización de Ethernet, sys_iEthernetConnectionErrorCode pasa a "11: Ethernet se está inicializando".

Ejemplo

Cabecera de la POU

Todas las variables de entrada y de salida utilizadas para la programación de esta función han sido declaradas en la Cabecera de la POU. Se utiliza la misma cabecera de la POU para todos los lenguajes de programación.

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

Cuerpo de la POU

Si bSetConnection cambia de FALSE a TRUE y sys_bIsEthernetInitializing está a FALSE, se ejecuta la instrucción.

Cuerpo 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

Cuerpo en 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;

Modificado el: 2024-04-25Comentarios sobre esta páginaLínea directa de Panasonic