当前位置: 首页 > news >正文

2016手机网站制作规范重启 iis 中的网站

2016手机网站制作规范,重启 iis 中的网站,怎么做好公司官网推广,网站建设代码容易出错在这篇文章中#xff0c;我将介绍如何使用Spring和Velocity格式化和发送自动电子邮件。 Spring仅提供创建简单文本电子邮件的功能#xff0c;这对于简单的情况很好#xff0c;但是在典型的企业应用程序中#xff0c;由于多种原因#xff0c;您不希望这样做#xff1a; 用… 在这篇文章中我将介绍如何使用Spring和Velocity格式化和发送自动电子邮件。 Spring仅提供创建简单文本电子邮件的功能这对于简单的情况很好但是在典型的企业应用程序中由于多种原因您不希望这样做 用Java代码创建基于HTML的电子邮件内容很繁琐且容易出错 显示逻辑和业务逻辑之间没有明确区分 更改电子邮件的显示结构需要编写Java代码重新编译重新部署等 通常解决这些问题的方法是使用诸如FreeMarker或Velocity之类的模板库来定义电子邮件内容的显示结构。 对于Podcastpedia我选择了Velocity这是Apache的免费开源基于Java的模板引擎。 最后我唯一的编码任务是创建要在电子邮件模板中呈现的数据并发送电子邮件。 我将基于Podcastpedia.org的真实场景进行演示 情境 在Podcastpedia.org的“ 提交播客”页面上我们鼓励访问者和播客生产者提交其播客以包括在我们的播客目录中。 提交播客后将自动生成一封电子邮件以通知我adrianmatei [AT] gmail DOT com和Podcastpedia人员联系[AT] podcastpedia DOT org。 现在让我们看看Spring和Velocity如何一起发挥作用 1.先决条件 弹簧设置 “ Spring框架提供了一个有用的实用程序库用于发送电子邮件该电子邮件使用户免受底层邮件系统的细节的侵扰并负责代表客户端进行低级资源处理。” [1] 1.1.1。 图书馆事务 为了能够使用Spring Framework的电子邮件库以下附加jar必须位于应用程序的类路径中。 JavaMail mail.jar库 JAF activation.jar库 我使用Maven加载了这些依赖关系因此这是pom.xml的配置片段 Spring邮件依赖 dependencygroupIdjavax.mail/groupIdartifactIdmail/artifactIdversion1.4.7/versionscopeprovided/scope /dependency dependencygroupIdjaf/groupIdartifactIdactivation/artifactIdversion1.0.2/versionscopeprovided/scope /dependency速度设定 要使用Velocity创建电子邮件模板首先需要在类路径上提供Velocity库。 使用Maven您在pom.xml文件中具有以下依赖关系 Maven中的速度依赖性 !-- velocity -- dependencygroupIdorg.apache.velocity/groupIdartifactIdvelocity/artifactIdversion1.7/version /dependency dependencygroupIdorg.apache.velocity/groupIdartifactIdvelocity-tools/artifactIdversion2.0/version /dependency2.电子邮件通知服务 在成功提交播客之后我为电子邮件通知定义了EmailNotificationService接口。 它只有一项操作即将播客拟议的播客通知播客。 下面的代码显示了EmailNotificationServiceImpl 它是上述接口的实现 Java代码发送通知电子邮件 package org.podcastpedia.web.suggestpodcast;import java.util.Date; import java.util.HashMap; import java.util.Map;import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage;import org.apache.velocity.app.VelocityEngine; import org.podcastpedia.common.util.config.ConfigService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.mail.javamail.JavaMailSender; import org.springframework.mail.javamail.MimeMessageHelper; import org.springframework.mail.javamail.MimeMessagePreparator; import org.springframework.ui.velocity.VelocityEngineUtils;public class EmailNotificationServiceImpl implements EmailNotificationService {Autowiredprivate ConfigService configService; private JavaMailSender mailSender;private VelocityEngine velocityEngine;public void sendSuggestPodcastNotification(final SuggestedPodcast suggestedPodcast) {MimeMessagePreparator preparator new MimeMessagePreparator() {SuppressWarnings({ rawtypes, unchecked })public void prepare(MimeMessage mimeMessage) throws Exception {MimeMessageHelper message new MimeMessageHelper(mimeMessage);message.setTo(configService.getValue(EMAIL_TO_SUGGEST_PODCAST));message.setBcc(adrianmateigmail.com);message.setFrom(new InternetAddress(suggestedPodcast.getEmail()) );message.setSubject(New suggested podcast);message.setSentDate(new Date());Map model new HashMap(); model.put(newMessage, suggestedPodcast);String text VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, velocity/suggestPodcastNotificationMessage.vm, UTF-8, model);message.setText(text, true);}};mailSender.send(preparator); }//getters and setters omitted for brevity} 现在让我们看一下代码 JavaMailSender和MimeMessagePreparator org.springframework.mail软件包是Spring框架的电子邮件支持的根级软件包。 用于发送电子邮件的中央接口是MailSender接口但是我们使用的是org.springframework.mail.javamail.JavaMailSender接口第org.springframework.mail.javamail.JavaMailSender行该接口向MailSender接口添加了专门的JavaMail功能例如MIME消息支持从它继承了。 JavaMailSender还提供了用于准备JavaMail MIME消息的回调接口称为org.springframework.mail.javamail.MimeMessagePreparator (lines 26-42) org.springframework.mail.javamail.MimeMessagePreparator (lines 26-42) 。 MimeMessageHelper 处理JavaMail消息时另一个有用的类是org.springframework.mail.javamail.MimeMessageHelper类该类使您不必使用冗长的JavaMail API。 如您所见通过使用MimeMessageHelper 创建MimeMessage变得非常容易 MimeMessageHelper的用法 MimeMessageHelper message new MimeMessageHelper(mimeMessage);message.setTo(configService.getValue(EMAIL_TO_SUGGEST_PODCAST));message.setBcc(adrianmateigmail.com);message.setFrom(new InternetAddress(suggestedPodcast.getEmail()) );message.setSubject(New suggested podcast);message.setSentDate(new Date());速度引擎 接下来要注意的是如何创建电子邮件文本 使用Velocity模板创建电子邮件文本 Map model new HashMap(); model.put(newPodcast, suggestedPodcast); String text VelocityEngineUtils.mergeTemplateIntoString( velocityEngine, velocity/suggestPodcastNotificationMessage.vm, UTF-8, model); message.setText(text, true); VelocityEngineUtils.mergeTemplateIntoString方法将指定的模板类路径中存在于Velocity文件夹中的suggestPodcastNotificationMessage.vm 与给定的模型模型–“ newPodcast”合并该模型包含将模型名称作为键并将模型对象作为值的映射。 您还需要指定要使用的velocityEngine 最后结果以字符串形式返回 2.3.1。 创建速度模板 您可以在下面看到在此示例中使用的Velocity模板。 请注意它是基于HTML的并且由于它是纯文本因此可以使用您喜欢HTML或文本编辑器来创建。 速度模板 htmlbodyh3Hi Adrian, you have a new suggested podcast!/h3pFrom - ${newMessage.name} / ${newMessage.email} /ph3Podcast metadataline /h3p${newMessage.metadataLine}/ph3With the message/h3p${newMessage.message}/p/body/htmlBean配置 让我们看看如何在应用程序上下文中配置所有内容 电子邮件服务配置 !-- ********************************* email service configuration ******************************* -- bean idsmtpSession classorg.springframework.jndi.JndiObjectFactoryBeanproperty namejndiName valuejava:comp/env/mail/Session/ /bean bean idmailSender classorg.springframework.mail.javamail.JavaMailSenderImplproperty namesession refsmtpSession / /bean bean idvelocityEngine classorg.springframework.ui.velocity.VelocityEngineFactoryBeanproperty namevelocityPropertiesvalueresource.loaderclassclass.resource.loader.classorg.apache.velocity.runtime.resource.loader.ClasspathResourceLoader/value/property /bean bean idemailNotificationServiceSuggestPodcast classorg.podcastpedia.web.suggestpodcast.EmailNotificationServiceImplproperty namemailSender refmailSender/property namevelocityEngine refvelocityEngine/ /bean JavaMailSender具有对smtp会话的JNDI引用。 在Jetty9-gmail-account.xml文件中可以找到有关如何使用Google帐户配置电子邮件会话的通用示例。 VelocityEngineFactoryBean是配置VelocityEngine并将其提供为bean引用的工厂。 ClasspathResourceLoader是一个简单的加载器将从classpath加载模板 摘要 在本示例中您已经学习了如何使用Spring和Velocity在Java中编写HTML电子邮件。 您所需要做的就是邮件Spring和Velocity库编写电子邮件模板并使用那些简单的Spring帮助器类将元数据添加到电子邮件中并发送。 资源资源 源代码– GitHub存储库 播客网 org.podcastpedia.web.suggestpodcast.EmailNotificationService.java-电子邮件通知的Java接口 播客常见 src / main / resources / spring / pcm-common.xml –在Spring应用程序上下文中与电子邮件相关的Bean配置 网页 Spring电子邮件集成 Apache Velocity项目 翻译自: https://www.javacodegeeks.com/2014/07/how-to-compose-html-emails-in-java-with-spring-and-velocity.html
http://www.pierceye.com/news/428749/

相关文章:

  • 网站建设业务开展方案昆明市城市基本建设档案馆网站
  • 湖南网站托管做招聘网站排名
  • 主机屋免费网站空间网站建设安全标准
  • .net cms网站管理系统生态养殖网站模板
  • 国外网站一般公司网站是什么设计师做
  • 备案停止网站网站建设研究课题
  • 个人网站开发是学什么语言网站建设 总体思路
  • 网站怎么留住用户在什么地方可以接到做网站的活
  • jsp页面如何做网站pv统计wordpress4.7.10
  • 澄海网站建设用asp做网站怎么美观
  • 未满18岁能申请网站备案吗网站做qq链接
  • 网络公司网站开发互联网技术专业学什么
  • 校园网站建设详细的设计方案php网站开发实战
  • 网站设计广州量计价格网站可信度建设
  • 门业网站 源码做企业网站必须要座机吗
  • 广东网站开发推荐wordpress快速加载
  • php网站开发外包北京网站建设迈程网络
  • 微信开发者平台取消授权seo资源网站排名
  • 将网站源码下载下来如何使用网站seo链接购买
  • 可信网站认证必须做苏州那里可以建网站
  • 手机网站底部代码有名的网站建设
  • 做一个网站需要多长时间网站制作有哪些种类
  • 做微信推送的网站小刘网站建设
  • 18款禁用软件app网站入口台州网站推广排名
  • 网站的服务内容济南网站制作方案
  • 微网站模板 phpwordpress 支付宝
  • wordpress dux主题破解安装全屏网站 图片优化
  • 一键建站公司做网站 怎么做留言
  • 制作的网站西安网页设计培训哪里有
  • 株洲市住房和城乡建设局门户网站中国建设银行官网站大同