Как отправить электронное письмо с вложенным вложением в Outlook с Camel-Mail - PullRequest
0 голосов
/ 13 февраля 2019

Outlook 2016 не будет правильно отображать сообщение электронной почты с вложенным вложением text / html при отправке с верблюжьей почтой.

Такое же сообщение отображается правильно в других почтовых клиентах, таких как apple mail.

Я уже пытался поменять тип содержимого самой почты, а также тип содержимого вложения.

Когда для типа содержимого установлено значение text / rich, встроенное вложение будет отображаться, но телоэлектронное письмо заканчивается как обычное вложение.

Если тип содержимого электронного письма - text / html, тело будет отображаться правильно, но вложение заканчивается как обычное вложение, а не как встроенное.

Процессор, который добавляет вложение:

  String emailContent = emailBody.getContent().toString();

  byte[] emailContentByte = emailContent
          .getBytes("UTF-8");


  // add the file as an attachment to the exchange with a text/html format.
  exchange.getIn().addAttachment("cid:http-email", new DataHandler(
          (DataSource) new ByteArrayDataSource(emailContentByte,
                  "text/html")));

Конечная точка smtp верблюда и заголовки:

        .setHeader("contentType", constant("text/html"))

        .process(new AttachmentBuilder())

        .to("velocity:{{mail.template}}?encoding=UTF-8")

        //send the exchange to the specified email address.
        .toD("smtp://{{mail.smtp.host}}:{{mail.smtp.port}}"
                + "?from={{mail.smtp.from}}"
                + "&to={{mail.smtp.to}}"
                + "&useInlineAttachments=true")

1 Ответ

0 голосов
/ 15 февраля 2019

Я думаю, что тип содержимого всего почтового сообщения должен быть Content-Type: multipart/related.

text/html будет типом содержимого отдельных частей сообщения.

Возможно, помогает этот q / a из stackoverflow .Речь идет об изображениях, но главное - это тип содержимого окружающего сообщения.

...