Envío de emails

Los metadatos email_* que rellenan la vista previa del correo, cuándo el documento viaja como PDF adjunto y desde qué remitente sale.

El visor de Play envía un documento dinámico por correo con el botón Enviar por email. Los metadatos que el código fija con F.MetaData_Set llegan ya puestos a la vista previa: remitente, destinatario, copias, asunto, cuerpo y nombre del adjunto.

F.MetaData_Set('email_subject', F.Concat('Factura ', v.Factura.NumeroDeFacturaCompleto))
F.MetaData_Set('email_to', v.Factura.ReferenciaCliente.CuentaDeCorreoPrincipal)
F.MetaData_Set('email_to_name', v.Factura.DenominacionRazonSocialCliente)
F.MetaData_Set('email_attachment_name', F.Concat('Factura ', v.Factura.NumeroDeFacturaCompleto, '.pdf'))

Todos los metadatos son opcionales. Lo que falte lo escribe a mano quien envía.

Cuerpo o adjunto

Un solo botón. Lo determina email_body:

email_bodyCuerpo del correoAdjunto
Sin fijarEl documento renderizadoNinguno
Con textoEse texto, en HTMLEl documento convertido a PDF
Con el ID de otro documento dinámicoEl HTML de ese documento, ejecutado con las mismas respuestasEl documento convertido a PDF

Con email_body, Play convierte el documento a PDF (Cómo convierte Dinaup a PDF) y lo sube a una URL temporal antes de abrir la vista previa.

DemoUp separa las dos piezas: Factura - Moderna se imprime y Factura - Plantilla de Email es el cuerpo del correo. La primera apunta a la segunda por su ID:

F.MetaData_Set('email_body', S.DynamicDocuments.Correos.FacturaPlantilladeEmail.ID)

Metadatos

ClaveQué rellena
email_subjectAsunto.
email_bodyCuerpo al adjuntar: HTML o el ID de otro documento dinámico.
email_toDirección del destinatario. Hasta 100, y cada una recibe su propio correo.
email_to_nameNombre del destinatario. Con varias direcciones, va con la primera.
email_fromDirección del remitente. Exige dominio verificado.
email_from_nameNombre visible del remitente.
email_ccDirecciones en copia, CC.
email_bccDirecciones en copia oculta, CCO: quien va en CCO no ve al resto.
email_replytoLa dirección de Responder a. En el SDK es Email_ReplyTo.
email_attachment_nameNombre del PDF adjunto. Sin él se usa el metadato titulo.

email_to, email_cc, email_bcc y email_replyto admiten varias direcciones separadas por comas, y se pueden fijar varias veces. F.MetaData_Set numera la clave repetida (email_bcc1, email_bcc2) y también vale numerarla a mano (email_bcc_1). Play reúne todas las de la misma clave.

F.MetaData_Set('email_cc', 'contabilidad@ejemplo.com')
F.MetaData_Set('email_bcc', 'archivo@ejemplo.com')
F.MetaData_Set('email_bcc', 'auditoria@ejemplo.com')
F.MetaData_Set('email_replyto', 'pedidos@ejemplo.com')

Con varias direcciones en email_to, cada una recibe su propio correo y solo ve la suya en Para. La primera lo recibe con el CC y el CCO; las demás, sin CC.

Remitente

La vista previa elige el remitente en este orden y se queda con el primero utilizable:

  1. email_from y email_from_name del documento.
  2. El remitente predeterminado de la empresa, configurado en Play.
  3. noreply@dinaup.com con nombre Dinaup.

Una dirección propia solo es utilizable si su dominio está entre los dominios verificados de la licencia. Si no lo está, la vista previa pasa a la siguiente opción de la lista y lo avisa: No se puede enviar desde X porque su dominio todavía no está verificado. Cuando el correo sale desde una dirección propia, el remitente recibe copia oculta. La vista previa lo indica con un aviso de copia.

La vista previa

Los metadatos rellenan el correo; no lo envían. La ventana Vista previa muestra remitente, destinatario, asunto, cuerpo y adjunto, y deja corregir el Email destinatario, el Nombre destinatario, el Asunto y el cuerpo. Los campos CC, Responder a y CCO salen abiertos si la plantilla trae alguno; si no, Añadir CC, CCO o Responder a los abre.

El botón Enviar correo exige dirección y asunto: sin alguno de los dos avisa Completa el email del destinatario y el asunto antes de enviar. El Nombre destinatario es opcional; sin él, el Para lleva solo la dirección. Tampoco envía con una dirección mal escrita en el destinatario, CC, CCO o Responder a, con más de 100 direcciones de destinatario, con más de 48 direcciones en CC ni con más de 500 en CCO.

Con un solo destinatario, fija email_to_name para que el Para lleve su nombre. El saludo del cuerpo lo escribe tu plantilla: email_to_name no lo rellena.

Un correo por destinatario

Con la marca {{email_to}} en el asunto o en el cuerpo, cada dirección de Para, CC y CCO recibe su propio correo, con su dirección en el sitio de la marca.

Para meter la dirección en un enlace, usa {{email_to_urlencode}}. Es la misma dirección, siempre codificada para URL: ana+tienda@ejemplo.com sale como ana%2Btienda%40ejemplo.com.

<a href="https://miweb.com/alta?email={{email_to_urlencode}}">Darme de alta</a>

La marca la cambia Play al enviar: en el documento y en la vista previa se ve tal cual. {{email_destinatario}} hace lo mismo.

La vista previa lo avisa: Cada destinatario recibe un correo aparte, también los de CC y CCO. Con muchas direcciones, el envío tarda más.

Ejemplos

F.MetaData_Set('email_subject', F.Concat('Factura ', D.EmpresaActual.TextoPrincipal, ' nº ', v.Factura.NumeroDeFacturaCompleto, ' - ', v.Factura.DenominacionRazonSocialCliente))
F.MetaData_Set('email_body', 'Hola,<br>te envío la factura para que la revises.<br>Un saludo.')
F.MetaData_Set('email_to', v.Factura.ReferenciaCliente.CuentaDeCorreoPrincipal)
F.MetaData_Set('email_to_name', v.Factura.DenominacionRazonSocialCliente)
F.MetaData_Set('email_attachment_name', F.Concat('Factura ', v.Factura.NumeroDeFacturaCompleto, '.pdf'))
F.MetaData_Set('email_subject', F.Concat('Pedido ', D.EmpresaActual.TextoPrincipal, ' nº ', v.Pedido.NumeroDePedido, ' - ', v.Pedido.NombreDeCliente))
F.MetaData_Set('email_body', 'Hola,<br>te envío el pedido para que lo revises.<br>Un saludo.')
F.MetaData_Set('email_to', v.Pedido.ReferenciaCliente.CuentaDeCorreoPrincipal)
F.MetaData_Set('email_to_name', v.Pedido.NombreDeCliente)
F.MetaData_Set('email_attachment_name', F.Concat('Pedido ', v.Pedido.NumeroDePedido, '.pdf'))

Siguiente: Documentos para firmar. Funciones: Documentos y gráficos.

En esta página