1、引入相关jar包
1 <dependency> 2 <groupId>org.apache.velocity</groupId> 3 <artifactId>velocity</artifactId> 4 <version>1.7</version> 5 </dependency> 6 7 <dependency> 8 <groupId>org.apache.velocity</groupId> 9 <artifactId>velocity-tools</artifactId> 10 <version>2.0</version> 11 </dependency> 12 <dependency> 13 <groupId>org.springframework</groupId> 14 <artifactId>spring-context-support</artifactId> 15 <version>4.3.9.RELEASE</version> 16 </dependency>
Spring的基本核心jar包没有在上面写出来
2、编辑spring配置文件
1<bean id="webEmailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> 2 <property name="host" value="smtp.126.com" /> 3 <property name="port" value="25" /> 4 <property name="username" value="XXXXX@126.com" /> 5 <property name="password" value="**********" /> 6 <property name="javaMailProperties"> 7 <props> 8 <!--设置是否需要身份验证 --> 9 <prop key="mail.smtp.auth">true</prop> 10 </props> 11 </property> 12 </bean> 13 <bean id="smg" class="org.springframework.mail.SimpleMailMessage"> 14 <property name="from" value="你的发送邮箱" /> 15 <property name="to" value="你的接受邮箱" /> 16 </bean> 17 18 <bean id="velocityEngine" 19 class="org.springframework.ui.velocity.VelocityEngineFactoryBean"> 20 <property name="velocityProperties"> 21 <props> 22 <prop key="file.resource.loader.cache">false</prop> 23 <prop key="file.resource.loader.modificationCheckInterval">3</prop> 24 <prop key="resource.loader">file</prop> 25 <prop key="file.resource.loader.path">.</prop> 26 <prop key="file.resource.loader.class"> 27 org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader 28 </prop> 29 <prop key="velocimacro.library"></prop> 30 <prop key="input.encoding">UTF-8</prop> 31 <prop key="output.encoding">UTF-8</prop> 32 <prop key="default.contentType">application/x-www-form-urlencoded; charset=UTF-8</prop> 33 </props> 34 </property> 35 </bean> 36 37@Controller 38@RequestMapping("/mail") 39public class WebEmail { 40 41 @Resource(name = "webEmailSender") 42 private JavaMailSenderImpl mailSender; 43 @Resource(name = "smg") 44 private SimpleMailMessage MailMessage; 45 @Resource 46 private VelocityEngine velocityEngine; 47 48 @RequestMapping(value="test1", method=RequestMethod.GET) 49 @ResponseBody 50 public void send(@RequestParam("s") String s) { 51 System.out.println(s); 52 try { 53 MimeMessage mimeMessage = mailSender.createMimeMessage(); 54 MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true, "UTF-8"); 55 messageHelper.setFrom(MailMessage.getFrom()); 56 messageHelper.setSubject(s); //主题 57 Map<String, Object> map = new HashMap<String, Object>(); 58 map.put("username", "xxxx"); 59 map.put("url", "http://www.baidu.com"); 60 map.put("email", "gjni@worthtech.net"); 61 String result = VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, "config/welcome.vm", "UTF-8",map); 62 messageHelper.setText(result, true); //内容 63 messageHelper.setTo(MailMessage.getTo()); //发送给 64 mailSender.send(mimeMessage); //发送邮件 65 } catch (Exception e) { 66 e.printStackTrace(); 67 } 68 } 69 70}
MimeMessageHelper(mimeMessage, true, "UTF-8") 要设置成UTF-8 ,如果不这样会发现,发送的邮件内容中文为乱码