Как добавить изображение 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);