1.创建一个mail.properties:
mail.host=smtp.163.com //邮箱格式,此处主要,你使用的什么邮箱就写什么邮箱的格式 mail.username=###########@163.com //发送方的邮箱名字 mail.password=########### //邮箱的授权码 mail.from=###########@163.com //发送邮件的邮箱2.创建一个applicationContext-mail.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> <description>mail</description> <context:property-placeholder location="classpath:mail.properties"/> <bean id="mailMessage" class="org.springframework.mail.SimpleMailMessage"> <property name="from"> <value>${mail.from}</value> </property> <!-- 查看SimpleMailMessage源码还可以注入标题,内容等 --> </bean> <!-- 申明JavaMailSenderImpl对象 --> <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> <property name="defaultEncoding" value="UTF-8" /> <property name="host" value="${mail.host}" /> <property name="username" value="${mail.username}" /> <property name="password" value="${mail.password}" /> <property name="javaMailProperties"> <props> <!-- 设置认证开关 --> <prop key="mail.smtp.auth">true</prop> <!-- 启动调试开关 --> <prop key="mail.debug">true</prop> <!-- 设置发送延时 --> <prop key="mail.smtp.timeout">0</prop> </props> </property> </bean> </beans>3.写邮件发送代码(注意:发送邮件这个代码,要写到service层中,它属于业务层)
(基本写法都一样,直接复制过去就可以了,)
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext-mail.xml"); JavaMailSender sender = (JavaMailSender) ac.getBean("mailSender"); SimpleMailMessage message = (SimpleMailMessage) ac.getBean("mailMessage"); message.setTo(entity.getUserinfo().getEmail());//发给谁? message.setCc("18518964005@163.com");//抄送给谁? message.setSubject("员工邮箱验证");//主题 message.setText("亲爱的:"+entity.getUserinfo().getName()+",欢迎入职本公司,你的所属部门为:"+entity.getDept().getDeptName()+"你的职位为:"+entity.getUserinfo().getStation()+"你的员工登录密码为:"+SysConstant.DEFAULT_PASS);//邮件内容 sender.send(message); 3.1 在邮件中添加图片,附件的版本 //1.加载applicationContext-mail.xml文件 ApplicationContext ac = new ClassPathXmlApplicationContext("classpath:spring/applicationContext-mail.xml"); //2.获取发送器 JavaMailSender sender = (JavaMailSender) ac.getBean("mailSender"); //3.通过发送器,创建一个MimeMessage对象 MimeMessage message = sender.createMimeMessage(); //MimeMessage是支持图片和附件的 //4.使用MimeMessageHelper工具类来封装MimeMessage对象 MimeMessageHelper helper = new MimeMessageHelper(message,true); //5.通过helper来设置相关的属性 helper.setFrom("itheima14@163.com");//发送邮箱 helper.setTo("3462420264@qq.com");//接收邮箱 helper.setSubject("测试带图片和邮件的邮件发送"); //5.设置图片 cid:代表内容的编号 content-id helper.setText("<html><head></head><body><h1>hello!!spring image html mail</h1><a href=http://www.baidu.com>baidu</a><img src=cid:image /></body></html>",true); //要给cid为image的这个编号,上传一个图片到邮件服务器 helper.addInline("image", new FileSystemResource(new File("E:\\02用例图.png"))); //6.带附件 第一个参数:代表这个附件在服务器上的文件名 第二个参数:代表文件资源在本地的位置 helper.addAttachment("javamail1_4_4.zip", new FileSystemResource(new File("E:\\javamail1_4_4.zip"))); //7.发送 sender.send(message);