send-mime
La función send-mime envía un correo electrónico al destinatario indicado, que suele ser el administrador. Antes de usar esta funcion debe configurar las opciones del servidor de correo electrónico. Al contrario que con la función send, el parámetro Cuerpo del mensaje de esta función permite obtener el cuerpo del mensaje desde una secuencia, por ejemplo como HTML.
Para crear la secuencia para el cuerpo del mensaje directamente en FlowForce también puede llamar a funciones de expresión como stream-open o stream-from-string. Asimismo puede usar funciones de expresión MIME para personalizar el correo electrónico o los encabezados de mensaje de los adjuntos. Para evitar que el correo electrónico acabe en la carpeta de correo no deseado del destinatario debe construir los encabezados MIME de forma que puedan llegar correctamente al servidor o programa de destino.
Para obtener contenido HTML para el cuerpo del mensaje es recomendable llamar a una transformación de StyleVision Server que produzca resultados HTML como MIME. Para ver un ejemplo paso a paso de cómo implementar transformaciones de datos de StyleVision en FlowForce Server consulte Crear un trabajo a partir de una transformación de StyleVision. Para más información sobre la integración con StyleVision Server consulte Integración con otros servidores de Altova.
FlowForce Server no recopila ninguna imagen, hoja de cálculo ni recursos parecidos a los que puedan hacer referencia los archivos HTML contenidos en una secuencia MIME independiente. Para producir un cuerpo de mensaje HTML independiente con StyleVision Server siga estos pasos:
1.Diseñe el cuerpo del correo electrónico en Altova StyleVision. El diseño puede contener imágenes y hojas de cálculo locales.
2.Implemente la transformación de StyleVision en FlowForce Server. En FlowForce la transformación se convierte en una función integrada de FlowForce que se puede ejecutar en StyleVision Server.
3.Cree un trabajo que llame a la transformación de StyleVision Server antes mencionada y asegúrese de seleccionar la opción GenerateHtmlOutputAsMime en la página de configuración del trabajo.
4.En la página de configuración del trabajo, llame a las funciones de expresión de FlowForce Server para que recojan la secuencia MIME generada y la pasen al parámetro "Cuerpo del mensaje" de la función send-mime (véase el ejemplo 1,más abajo).
Si hay recursos externos a los que el archivo HTML hace referencia que no se pueden incrustar en la secuencia MIME, se añadirán al correo electrónico como archivos adjuntos.
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
De | string | Parámetro obligatorio. Dirección de correo electrónico desde la que se envía el correo (por ejemplo flowforce@<hostname>). |
Para | string | Parámetro opbligatorio. Dirección de correo electrónico del destinatario. Este campo también puede contener una lista separada por comas de distintas direcciones de correo electrónico de destino. |
Asunto | string | Parámetro opbligatorio. Texto del asunto del mensaje. |
Cuerpo del mensaje | stream | Parámetro opbligatorio. El texto del cuerpo del mensaje, como expresión de FlowForce que devuelve un tipo de secuencia. |
Adjunto | sequence of stream | Parámetro opcional. Archivo adjunto que se debe enviar en el correo electrónico. Cada adjunto debe ser una expresión de FlowForce que produce una secuencia. Llame a funciones de secuencia para crear secuencias a partir de cadenas de texto o archivos. Llame a funciones de expresión MIME para añadir, modificar o eliminar encabezados MIME. |
Anular en caso de error | boolean | Parámetro opcional. Este parámetro determina el resultado de un trabajo si ocurre un error. Si el parámetro de Anular en caso de error es true, la ejecución del trabajo se anula. Si el parámetro es false, FlowForce Server ignora los errores y sigue ejecutando el trabajo. El valor predeterminado es true. |
Ejemplo 1
El trabajo que se ilustra a continuación invoca a la función send-mime para enviar un correo electrónico en formato HTML.
Paso 1
El primer paso de ejecución genera resultados HTML llamando a transformaciones de StyleVision Server. Esta transformación se diseñó con StyleVision y después se implementó en FlowForce Server, como se muestra en el apartado Crear un trabajo a partir de una transformación de StyleVision. Observe que la casilla GenerateHtmlOutputAsMime está marcada. Además, el resultado del primer pasos de ejecución se llamó "output" (necesitaremos esta cadena de texto en un paso posterior; para referirse a ella, teclee "output" dentro de una expresión.
Paso 2
El segundo paso de ejecución llama a la función compute para calcular una expresión de FlowForce. La expresión nth(results(output), 0) recoge la secuencia MIME con índice 0 (en este caso, OutHtml) del resultado generado por el paso anterior. El resultado del paso anterior se llama message y se usa en el parámetro Cuerpo del mensaje en el último paso de ejecución.
Paso 3
Por último, el tercer paso de ejecución envía el mensaje del correo electrónico. El campo "Cuerpo del mensaje" también contiene una expresión de FlowForce, que en este caso es el resultado calculado anteriormente en el paso 2.
Ejemplo 2
El trabajo que se ilustra a continuación invoca a la función send-mime para enviar un correo electrónico en formato HTML que también contiene un archivo adjunto que es una imagen en formato .png.
El primer paso de ejecución prepara el código HTML para el cuerpo del mensaje. Para simplificar hemos introducido el código HTML de este ejemplo directamente en la caja de texto. La forma recomendada de obtener resultados HTML es llamar a una transformación de StyleVision, como se muestra en el ejemplo anterior. Este paso de ejecución produce una cadena de salida que se usará en un paso posterior.
El segundo paso de ejecución produce el cuerpo del correo electrónico como secuencia. Es decir, convierte el resultado del primer paso de ejecución (body_html, de tipo string) en una secuencia. Se llama a la función stream-from-string justamente para obtener ese resultado. La codificación y el tipo de MIME deseados se pasan a la función como argumentos.
El tercer paso de ejecución crea el adjunto del correo electrónico, también como cadena. La imagen adjunta se toma de una ruta local: C:\sample.png. Más concretamente, este paso computa la expresión:
add-mime-header(stream-open('C:\sample.png', 'image/png'), 'Content-Disposition', 'attachment; filename=sample.png')
La expresión anterior hace lo siguiente:
•La función stream-open abre la imagen como secuencia
•La función add-mime-header añade el encabezado "Content-Disposition" a la secuencia. De esta forma, la imagen adjunta tendrá el nombre que queremos ("sample.png").
Por último, la expresión del campo "Adjunto" es necesario porque se trata de un archivo binario. Este tipo de archivos deben cifrarse en base 64 para que se conserven durante la transmisión; para ello se usa la función de expresión mime-content-encode.
Otro método
Otro método para ejecutar el trabajo anterior es usar la función set-mime-content-disposition en lugar de add-mime-header (tercer paso de ejecución). La expresión tendría este aspecto:
set-mime-content-disposition(stream-open('C:\sample.png', 'image/png'), 'attachment', 'sample.png')