El adaptador SMTP en BizTalk Server 2006

En BizTalk Server (BTS) 2006 el adaptador de SMTP tiene nueva propiedades que nos permiten más opciones en el momento de enviar correos electrónicos. Haciendo un poco de historia, en BizTalk 2004 el adaptador SMTP nos permitía:

  • Enviar el correo con copia (CC) a otra(s) dirección(es)
  • Marcar el correo con acuse de lectura
  • Marcar el correo con acuse de recepción
  • Enviar el body (message part) del mensaje como un adjunto al correo

En BTS 2006, además de ofrecer esta misma funcionalidad, el nuevo adaptador amplio sus características:

  • Enviar archivos adjuntos al correo que están almacenados en el disco físico
  • Enviar en el cuerpo del mensaje el contenido del mensaje, ó un mensaje de texto preestablecido, ó el texto de un archivo almacenado en el disco físico
  • Enviar el body del mensaje (message part) o todas las partes del mensaje como adjunto del correo
  • Enviar el cuerpo del mensaje con algún tipo de codificación según la necesidad

Para toda esta nueva funcionalidad, el namespace http://schemas.microsoft.com/biztalk/2003/smtp-properties existen nuevas propiedades como lo son:

Nombre propiedad

Descripción

MessagePartsAttachments

Esta propiedad especifica si queremos enviar alguna parte del mensaje como adjunto al correo o ninguna. Para esta propiedad existen tres posibles valores

0 – No adjunta partes del mensaje (No not attach parts)

1 – Adjunta solamente la parte body del mensaje (Attach only body part)

2 – Adjunta todas las partes del mensaje (Attach all parts)

Attachments

Esta propiedad se utiliza para definir los archivos físicos que deberán de ser enviados como adjuntos en el correo en forma adicional.

Para su definición, basta con pasar todas las rutas de los archivos separados con el carácter pipe (|), inclusive al final de la lista. Ejemplo:

Ruta Archivo1|Ruta Archivo2|Ruta Archivo3|

EmailBodyText

Esta propiedad define el texto que se incluirá en el correo en lugar del mensaje.

EmailBodyTextCharset

Esta propiedad especifica el tipo de codificación del texto del correo. Los tipos de codificaciones soportadas están listadas en la Tabla de Codificaciones publicada abajo.

EmailBodyFile

Esta propiedad especifica la ruta del archivo físico que contiene la información que será incluida en el correo. Solo se podrá especificar la ruta de un archivo.

EmailBodyFileCharset

Esta propiedad especifica el tipo de codificación del texto del archivo que será incluido en el correo. Los tipos de codificaciones soportadas están listadas en la Tabla de Codificaciones publicada abajo.

Existen dos formas de utilizar o definir estas propiedades, la primera es utilizando puertos estáticos y definiendo en la interfaz de la configuración del puerto los datos requeridos.

La otra forma es utilizando puertos dinámicos, para lo cual deberemos promocionar en nuestro proceso de integración las correspondientes propiedades, asi:

Para definir que no vamos a mandar ninguna parte del mensaje como adjunto, podríamos hacerlo así.

Msg_Correo(SMTP.MessagePartsAttachments) = 0;

Para definir que archivos locales irán adjuntos al correo, podríamos hacerlo así.

Msg_Correo(SMTP.Attachments) = @"c:\archivo.txt|c:\nombres.txt|";

Para definir el texto que se desea enviar en el correo, podríamos hacerlo así:

Msg_Correo(SMTP.EmailBodyText) = "Este texto es para el correo";Msg_Correo(SMTP.EmailBodyTextCharset) = "utf-8";

Para especificar el archivo que contiene el texto a enviar en el correo, podríamos hacerlo así:

Msg_Correo(SMTP.EmailBodyFile) = @"c:\archivo.txt";Msg_Correo(SMTP.EmailBodyFileCharset) = "utf-8";

Como se observa, el nuevo adaptador nos da facilidades para generar correos electrónicos con más opciones y más información de una forma sencilla. Pueden bajar el código fuente del ejemplo aquí, el cual fue escrito con Visual Studio .Net 2005 Beta 2 y Microsoft BizTalk Server 2006 Beta 1 CTP.

Tabla de Codificaciones

Codificación

Valor

Arabic (Windows-1256)

windows-1256

ASCII (20127)

us-ascii

Baltic (Windows-1257)

windows-1257

Central European (1250)

windows-1250

Cyrillic KOI8-R (20866)

koi8-r

Greek (1253)

windows-1253

Hebrew (1255)

windows-1255

Japanese Shift_JIS(932)

shift_jis

Korean EUC-KR (949)

euc-kr

Simplified Chinese GB18030 (54936)

GB18030

Simplified Chinese GB2312 (936)

gb2312

Thai (874)

windows-874

Traditional Chinese BIG5 (950)

big5

Turkish (1254)

iso-8859-9

UTF-7 (65000)

utf-7

UTF-8 (65001)

utf-8

Vietnamese (1258)

windows-1258

Western European (1252)

iso-8859-1

-------------------------------------------------------------------------------------------------------------------------------

Esta información pertenece a la versión BizTalk Server 2006 Beta 1 CTP, por lo tanto es posible que en la versión final esta funcionalidad tenga algún nuevo cambio.

Autor: Carlos Medina

Este mensaje se proporciona "como está" sin garantías de ninguna clase, y no otorga ningún derecho