关于使用 Spring 发送简单邮件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于使用 Spring 发送简单邮件相关的知识,希望对你有一定的参考价值。
这是通过Spring 框架内置的功能完成简单邮件发送的测试用例。
- 导入相关的 jar 包.
Spring 邮件抽象层的主要包为 org.springframework.mail。
它包括了发送电子邮件的主要接口 MailSender,和值对象 SimpleMailMessage,它封装了简单邮件的属性。
如 from,to,cc, subject,text。
2. 在邮箱设置中打开邮件的发送服务:
3. 在src目录下建立mail.properties文件里边包含一下内容
mail.host=smtp.exmail.qq.com (邮箱的发送域名设置)
mail.username=你的邮箱名
mail.password=你的邮箱密码
mail.from=发送方的邮箱
4. spring配置
1 <!-- 加载Properties文件 --> 2 <bean id="configurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 3 <property name="locations"> 4 <list> 5 <value>classpath:mail.properties</value> 6 </list> 7 </property> 8 </bean> 9 <bean id="mailMessage" class="org.springframework.mail.SimpleMailMessage"> 10 <property name="from"> 11 <value>${mail.from}</value> 12 </property> 13 <!-- 查看SimpleMailMessage源码还可以注入标题,内容等 --> 14 </bean> 15 <!-- 申明JavaMailSenderImpl对象 --> 16 <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> 17 <property name="defaultEncoding" value="UTF-8" /> 18 <property name="host" value="${mail.host}" /> 19 <property name="username" value="${mail.username}" /> 20 <property name="password" value="${mail.password}" /> 21 <property name="javaMailProperties"> 22 <props> 23 <!-- 设置认证开关 --> 24 <prop key="mail.smtp.auth">true</prop> 25 <!-- 启动调试开关 --> 26 <prop key="mail.debug">true</prop> 27 <!-- 设置发送延时 --> 28 <prop key="mail.smtp.timeout">0</prop> 29 </props> 30 </property> 31 </bean> 32 </beans>
5. action中添加简单的发送方法
1 /** 2 * 本类测试邮件发送html形式 3 */ 4 public class SingleMailSend { 5 static ApplicationContext actx = 6 new ClassPathXmlApplicationContext("applicationContext.xml"); 7 static MailSender sender = (MailSender) actx.getBean("mailSender"); 8 static SimpleMailMessage mailMessage = 9 (SimpleMailMessage) actx.getBean("mailMessage"); 10 public static void main(String args[]) throws MessagingException { 11 mailMessage.setSubject("你好"); 12 mailMessage.setText("这个是一个通过Spring框架来发送邮件的小程序"); 13 mailMessage.setTo("******@qq.com"); 14 sender.send(mailMessage); 15 } 16 }
以上是关于关于使用 Spring 发送简单邮件的主要内容,如果未能解决你的问题,请参考以下文章