Hola compañeros, hoy abordamos la tarea de configurar el iSeries-AS400 (el mejor sistema de gestión empresarial que existe) para enviar correo electrónico al exterior. En mis 20 años en el mundo AS400 ya he configurado bastantes máquinas para ello, pero hace unas semanas me tocó volver hacerlo en V6R1 y aquí tenemos los apuntes por si alguien no lo tiene todavía y le puede venir bien.
INDICE:
1. Configurar el dominio TCP/IP
2. Como decirle al iSeries a donde tiene que redireccionar los correos salientes.
a. Especificar en CHGSMTPA el nombre del servidor smtp que vamos a usar y registrar hasta 3 servidores DNS en el iSeries en la configuración del dominio (CHGTCPDMN)
b. Especificar en CHGSMTPA la dirección ip del servidor smtp que vamos a usar. En este caso no es necesario registrar DNS,s en CHGTCPDMN
3. Crear la dirección e ID de usuario que utilizarán los servicios de correo para direccionar el correo cuyo destinatario es una dirección internet, dentro de este sistema y/o la red SNADS, hasta la pasarela SMTP/MIME
4. Especificar en Atributos de la distribución la dirección e ID de usuario que utilizarán los servicios de correo.
5. Enlaces
CONFIGURAR DOMINIO TCP/IP
El mandato Cambiar dominio TCP/IP (CHGTCPDMN) se utiliza para especificar los nombres de dominio y de sistema principal TCP/IP deL iSeries y para configurar la información del Servidor de Nombres de Dominio (DNS).

En esta pantalla podemos especificar las IP de los servidores DNS a usar (Recomendable). Esto es necesario si queremos que el iSeries sepa a donde reenviar los paquetes de servidores o usuarios que no encuentre en local.
Una vez hecho esto podemos probar a ver si funciona haciendo un ping a una web, por ejemplo google:
COMO DECIRLE AL ISERIES DONDE TIENE QUE REDIRECCIONAR LOS CORREOS SALIENTES
En esta parte veremos la configuración de los atributos de SMTP (Mandato CHGSMTPA) usando el iSeries Navigator. Todas estas tareas tienen su correspondiente mandato del Sistema Operativo del iSeries, los cuales suelo usar preferentemente, aunque el iNavigator es más intuitivo.
Seleccionamos Red -> Servidores -> TCP/IP en el Servidor SMTP elegimos ver Propiedades haciendo click con el botón derecho.

En las propiedades SMTP vemos varias pestañas. En la pestaña GENERAL comprobaremos que está activada la opción “Iniciar cuando se inicia TCP/IP” por motivos evidentes.
En la pestaña “Restricciones de retransmisión” podremos indicar quien puede retransmitir correos e incluir diversas opciones, como, por ejemplo, diversos rangos de IPs autorizadas para retransmitir correos.
En esta pestaña podremos referenciarnos a diversas listas negras y además crearnos nuestra propia lista negra.
En la pestaña de autentificación indicaremos el host que usaremos para enviar los correos, así como el usuario y la contraseña, de forma muy similar a la de un cliente de correo.
CREAR EL USUARIO QUE UTILIZARAN LOS SERVICIOS DE CORREO DEL iSERIES
Lógicamente se crea con el mandato CRTUSRPRF, siendo recomendable crear un usuario exclusivo para esta tarea y con menú inicial “*SIGNOFF”.
Añadir el usuario al directorio de distribución con WRKDIRE o bien directamente con ADDDIRE. A continuación vemos el ejemplo del usuario típico que tendrá más de un iSeries:
ADDDIRE USRID(INTERNET GATEWAY) USRD(’Allow SNDDST to send INTERNET Mail’) SYSNAME(INTERNET) MSFSRVLVL(*USRIDX) PREFADR(NETUSRID *IBM ATCONTXT)
En el ID Usuario y dirección debemos poner el usuario y el nombre del sistema, en nivel de servicio de correo un 2 y en dirección preferida un 3.
Con F19 iremos a los nombres SMTP, también accesible a través del mandato WRKNAMSMTP.
Para una información más detallada acerca de esta última tarea podemos ver el artículo
ESPECIFICAR EN LOS ATRIBUTOS DE LA DISTRIBUCION LA DIRECCION E ID DEL USUARO QUE UTILIZARAN LOS SERVICIOS DE CORREO
CHGDSTA SMTPRTE(INTERNET GATEWAY)
Ya podemos probar a enviar correo, aquí tenemos un ejemplo de envío de correo, en este caso, un documento de una carpeta:
SNDDST TYPE(*DOC) DSTD(descripción) TOINTNET(buzon@dominio.com) DOC(documento) FLR(carpeta)
ADDSMTPLE TYPE(*HOSTAUTH) HOSTNAME(susistema.realm.com) USERNAME(receiver) PASSWORD(xxxx)
Convertir tipos de archivo para enviarlos con SNDDST A medida que el servidor iSeries adquiere un papel más destacado en Internet, se requiere un método que permita enviar información fácilmente del OS/400 a los clientes de correo electrónico. Dando por supuesto que el archivo en spool se ha creado previamente y que el archivo físico y la carpeta ya existen, debe convertir el archivo a un formato que se pueda enviar. Las conversiones se realizan utilizando mandatosiSeries, tal como se muestra más abajo. Mueva el archivo en spool a un archivo físico de base de datos.
CPYSPLF FILE(archivoSpl) TOFILE(archivoDB) JOB(trabajo3/trabajo2/trabajo1) SPLNBR(númeroSpool) TOMBR(miembro)
Mueva el archivo físico de la base de datos a una carpeta.
CPYTOPCD FROMFILE(bib/archivoDB) TOFLR(carpeta) FROMMBR(miembro) REPLACE(*YES)
Envíe el documento con el mandato SNDDST, que tiene varias opciones. Este mandato es el más sencillo para enviar una distribución, pero en los enlaces de más abajo vereis que existe una API que es mucho más completa y que particularmente recomiendo.
SNDDST TYPE(*DOC) TOUSRID(direcciónUsuario) DSTD(MAIL) DOC(miembro) FLR(carpeta)
ENLACES
Hay muchos enlaces relacionados, tan sólo hay que buscar SMTP iSERIES en Google, pero os recomiendo dos de ellos interesantes para seguir en el tema. Es posible que no sean los mejores, pero hace muchos años ya que el primero de ellos me sirvió para usar el SMTP Server del AS400 en versión V4R4.
En la siguiente dirección (toda una institución en el mundo AS400 / iSeries) teneis más información sobre el tema, relativo a versiones anteriores.
Y para entrar totalmente en faena y ampliar la información también tenemos el IBM i Information Center (este enlace corresponde a la versión V6R1):
Saludos y suerte, amigos.





