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.
Entrada
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:
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'
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'
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'
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'
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.
NOUSE
: La configuración del método de autenticación SMTP será ignorada.
KEEP
: Mantiene los ajustes de inicio de sesión actuales.Ejemplos:
Establecer CRAM-MD5 como método de autenticación SMTP para la cuenta "sunx" con la contraseña "control": 'CRAM,ACCOUNT=sunx,PASS=control'
Establecer CRAM-MD5 como método de autenticación SMTP para la cuenta "root" y borrar la contraseña: 'CRAM,ACCOUNT=root,PASS='
Establecer PLAIN1 como método de autenticación SMTP, eliminar el nombre de la cuenta, utilizar la contraseña "SUNX": 'PLAIN1,ACCOUNT=,PASS=SUNX'
Establecer PLAIN2 como método de autenticación SMTP, borrar el nombre de la cuenta y la contraseña: 'PLAIN2,ACCOUNT=,PASS='
Establecer LOGIN como método de autenticación SMTP para la cuenta "panasonic" y mantener la contraseña ya configurada: 'PLAIN2,ACCOUNT=panasonic'
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'
No utilizar un método de autenticación SMTP, no utilizar una cuenta, no cambiar la contraseña: 'NOUSE'
Mantener el método de autenticación SMTP, la cuenta y la contraseña: 'KEEP'
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
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:
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'
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'
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'
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'
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'
Mantener todos los ajustes actuales: 'KEEP'
Salida
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.
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.
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.
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.
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".
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
Si bSetConnection cambia de FALSE a TRUE y sys_bIsEthernetInitializing está a FALSE, se ejecuta la instrucción.
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
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;