Почему почтовый компонент Apache Camel отправляет тело письма как вложение?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Почему почтовый компонент Apache Camel отправляет тело письма как вложение?

Сообщение Anonymous »

Я использую Apache Camel 2.22.0 и имею простой маршрут отправки электронного письма (с несколькими ссылками на свойства):

Код: Выделить всё

public class EmailFailureRoute extends RouteBuilder {

@Override
public void configure() {
from("seda:mail")
.setHeader("To", simple("{{mail.failure.to}}"))
.setHeader("From", simple("{{mail.failure.from}}"))
.setHeader("Subject", constant("TEST!"))
.to("velocity://templates/failure-mail.vm")
.to("{{mail.smtpServer}}");
}

}
Я ожидаю получить обычное электронное письмо с текстом из шаблона Velocity в теле сообщения. На самом деле я получаю электронное письмо с текстом из шаблона Velocity, прикрепленным к письму. В MS Outlook это выглядит следующим образом:

Изображение


Почему это вложение? Как заставить почтовый компонент вставлять результат шаблона Velocity непосредственно в тело сообщения электронной почты?

ОБНОВЛЕНИЕ:

Включив флаг «debugMode» на почтовом компоненте, я смог увидеть содержимое фактического электронного письма в момент его отправки на SMTP-сервер. Похоже, моя проблема в том, что Content-Type — «application/json»! Итак, теперь имеет смысл прикрепить тело, но я понятия не имею, почему Content-Type установлен таким образом. Даже установка параметра запроса «contentType=text/plain» в конечной точке почты не влияет на конечный тип контента сообщения электронной почты.

Подробнее здесь: https://stackoverflow.com/questions/517 ... attachment
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»