使用 Spring 从 Web 应用程序发送邮件
在我的网络应用程序中我想发送邮件。有没有办法用 Spring MVC 来做到这一点?最好的方法是什么?
谢谢
In My Web application i want to send mails. Is There any way to do it with Spring MVC ? And what's the best way to do it ?
Thank you
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以使用Spring的邮件抽象层轻松发送电子邮件。在 applicationContext.xml 中定义以下 bean
然后在 mypackage.MySendMailService 中:
You can use Spring's mail abstraction layer to easily send emails. Define the following beans in your applicationContext.xml
Then, in
mypackage.MySendMailService
:我使用 Apache Velocity 作为电子邮件模板系统。您可以将“VelocityEngine”的实例定义为 spring bean 并将其注入到控制器中。然而,更简洁的解决方案是将邮件发送代码放入服务中,并将服务注入控制器中。
HashMap 可用于传递参数,然后您可以在速度模板中使用这些参数。
然后您可以使用“JavaMailSender”发送电子邮件,它也可以定义为 spring bean。
您可以像这样定义 mailSender 和velocityEngine bean:
I'm using Apache Velocity as E-Mail templating system. You can define an instance of "VelocityEngine" as a spring bean and inject it into your controllers. The much cleaner solution however is to put the mail-sending code into a service and inject your service into your controller.
The HashMap can be used to pass parameters you can then use inside your velocity template.
Then you can send your email using a "JavaMailSender" which can also be define as a spring bean.
You can define the mailSender and the velocityEngine beans similar to this:
Spring MVC 是一个 Web框架,它与电子邮件无关。 Spring 框架的另一部分确实支持邮件发送。看看参考文献的第24章指南。
Spring MVC is a web framework, and it has nothing to do with email. Another part of the Spring framework does support mail sending though. Take a look at chapter 24 of the ref guide.