Pregunta

Tengo un problema que, para ser sincero, al principio no pensé que fuera un problema de programación, pero después de comprobar todas las demás áreas agradecería sus comentarios si esto pudiera ser uno.

Tenemos una aplicación web ASP.NET que envía correos electrónicos con archivos adjuntos a los usuarios. Una vez enviado, el mensaje se guarda como un archivo .msg en SharePoint. Todo esto funciona de manera correcta y confiable.

El problema que hemos encontrado es que cuando un usuario abre el archivo .msg (es decir, lo descarga de SharePoint) y luego lo reenvía, los archivos adjuntos se caen del correo electrónico. Los archivos adjuntos están en el archivo .msg y se pueden abrir y ver: el problema es SOLO cuando lo reenvían (los documentos desaparecen cuando presionan hacia adelante).

Los usuarios usan Outlook (una variedad de versiones) e Internet Explorer.

He intentado lo siguiente para eliminar explicaciones que no son de programación:

  1. Reenviar el correo electrónico real enviado: esto funciona (es decir, los archivos adjuntos se mantienen)
  2. Tome el contenido y el archivo adjunto del archivo msg, envíelo y luego reenvíelo, esto funciona
  3. Tome este correo electrónico, cárguelo en SharePoint, descárguelo y reenvío; esto funciona
  4. Tome el archivo .msg generado y guárdelo localmente. Abrir y reenviar: esto NO funciona
  5. Abra el archivo .msg generado desde SharePoint; esto NO funciona
  6. Cambiar todas las configuraciones apropiadas de confianza / intranet - no hay diferencia
  7. Reenvíe el archivo .msg generado: todavía faltan archivos cuando se reciben

Los correos electrónicos se envían utilizando la funcionalidad estándar de SmtpClient, no creo que * este deba ser el área que necesito abordar. Estamos utilizando un componente de terceros llamado Independentsoft para generar nuestro archivo .msg, creo que esta es probablemente el área en la que necesitamos asistencia.

El extracto para esto es bastante simple:

Message mailMsg = new Message();
// configuration, set email addresses, etc...

foreach (Document doc in msg.Documents)
{
    Attachment attachment = new Attachment(doc.Path);
    mailMsg.Attachments.Add(attachment);
}

Cualquier idea sobre lo que podría estar causando esto sería muy apreciada

¿Fue útil?

Solución

Esto terminó siendo una resolución bastante simple.

En la clase de mensaje existe una colección llamada MessageFlags. Simplemente agregue el MessageFlag.HasAttachment cuando sea necesario

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top