Crear un correo electrónico usando plantillas y luego adjuntar archivos adjuntos dinámicos

He estado tratando de escribir algunos flujos de trabajo personalizados para nuestra organización, pero estoy atascado en un problema en particular. Sé cómo crear archivos adjuntos y vincularlos a un nuevo correo electrónico, pero quiero hacer lo mismo con las plantillas. Entiendo cómo usar la clase SendEmailFromTemplateRequest, pero no he encontrado una forma de vincular los archivos adjuntos. encontré este artículo pero necesito más detalles sobre cómo usar InstatiateTemplateRequest. He intentado jugar con él usando esto como una guía pero hasta ahora no he tenido suerte.

Mis necesidades son que necesito crear un correo electrónico a partir de una plantilla y luego adjuntarle archivos que se generan dinámicamente.

preguntado el 12 de junio de 12 a las 18:06

2 Respuestas

Encontré lo que necesitaba aquí, pero me di cuenta de que aún necesitaba crear el objeto de correo electrónico con el ayudante IOrganizationService. Básicamente, creé InstantiateTemplateRequest, luego lo pasé a la función IOrganizationService Execute() y luego recuperé el objeto de correo electrónico del objeto InstantiateTemplateResponse. Después de recibir el correo electrónico, lo edité y lo pasé a la función IOrganizationService Create(). Después de eso, lo envié usando un objeto SendEmailRequest que también necesita una llamada IOrganizationService Execute().

Respondido el 12 de junio de 12 a las 20:06

No estoy muy seguro de cómo va a utilizar realmente las plantillas. Pero una solución podría ser que puede enviar el correo electrónico de la misma manera que lo hace con los archivos adjuntos. Cree algo de lógica para obtener el contenido de la cadena de la plantilla, realice operaciones de manejo de cadenas según el requisito (por lo general, solo hay unos pocos campos en la plantilla que deben modificarse y la mayor parte del texto permanece igual). Ahora pase esta cadena al cuerpo del correo electrónico como cadena. No creo que deba haber ningún problema en esto. Corríjame si me falta algo o no entendí bien la pregunta completa.

Respondido el 12 de junio de 12 a las 18:06

¿Sabe si ese enfoque mantendría el formato o las imágenes incrustadas de la plantilla? Me preocupa que solo copiar cadenas pueda afectar la apariencia del correo electrónico final. - Steve

No debería cambiar el formato de las imágenes incrustadas, etc. Una cosa que puede hacer es identificar todo el texto que se puede cambiar en cualquier momento. Márquelas como palabras clave y reemplácelas en el tiempo de ejecución. Implementé la misma lógica una vez y usé un '$' al comienzo de cada palabra clave, solo para mantener mis etiquetas html correctas. Intente ajustar el contenido en la tabla html para que el formato no se estropee. En mi caso usé el signo '$' porque estaba seguro de que no voy a usar ese signo en ningún otro lado. Eso me ayudó a localizar fácilmente las palabras clave. Puedes usar cualquier otro signo. Ejemplo: $start_date o #start_date - Rajat Saini

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.