Как добавить изображение html в файл шаблона скорости для отправки электронной почты?

Я включил это в мой файл скоростей. Но это не работает,

< img src="cid:src/resources/imageContent.jpg" />

2 ответа

Вы можете следовать руководству здесь.

Например, попробуйте это в файле шаблона Velocity:

<img src = "cid:${cid}" alt = "Foo">

И в вашем Java-коде попробуйте:

URL url = new URL("image.png");
String cid = email.embed(url, "Foo");
Map model = new HashMap();
model.put("cid", cid);

Когда ваш сервер работает, вы можете получить путь до сервера от request.getContexPath();

Так что здесь вам просто нужно указать путь покоя изображения. Я сделал это для моего демонстрационного приложения, как это.

 <img border="0" alt="Test" src="${projectPath}/images/logo.jpg"/></a></td> 

Теперь вам нужно установить значение projectPath для вашего projectPath, которое вы можете получить request.getContexPath();

Теперь создайте одну карту, в которую вы должны добавить ключ, который будет ключевым словом, которое вы использовали в файле.vm. Для этого примера мы использовали projectPath.

 Map map = new HashMap<>();
 map.add("projectPath",request.getContexPath());
 map.add() // other value that you want to replace in vm file

После этого создайте экземпляр VelocityContext, загрузите эту карту с аргументом конструктора, как это

 VelocityContext velocityContext = new VelocityContext(map);
Другие вопросы по тегам