Отправка шаблонных писем со скоростью с изображениями в них из приложения Spring MVC - PullRequest
3 голосов
/ 08 марта 2011

Меня интересует, какой лучший способ отправлять электронные письма с изображениями в них из приложения Spring MVC, использующего Velocity.

Изображение должно находиться в приложении, возможно, в том же месте, что и шаблон *.vm (например, src/main/resources/templates), и не следует использовать абсолютные пути (например, C: \ App ...), поэтому я могу не понимаю, как это сделать.

Предложения

Ответы [ 2 ]

4 голосов
/ 08 марта 2011

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

  • включают изображение в качестве вложения в электронное письмо (хромает, ИМХО; и ваша пропускная способность будет очень высокой)
  • отправьте сообщение электронной почты в формате HTML и ссылку на изображение, размещенное в Интернете

Посмотрите org.springframework.mail.javamail.MimeMessageHelper

2 голосов
/ 08 марта 2011

С помощью Spring вы можете легко загружать ресурсы из файловой системы или из classpath (даже внутри jar-файла) без абсолютных путей.Вы должны использовать Resource и его реализации, в основном FileSystemResource или ClasspathResource.Это пример:

Resource fileResource = new FileSystemResource("resources/templates");

После загрузки вы можете напрямую получить входной поток из экземпляра ресурса.

Кроме того, вы можете внедрить свой относительный путь в компонент, имеющий атрибут экземпляра типа Resource:

<bean id="mailer" class="test.Mailer">
    <property name="templateResource" value="file:resource/templates" />
</bean>

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

...