Spring对JavaMail进行了支持,使发送邮件更加的简单!
需要额外加入的jar/包(mail.jar/activation.jar)
下面开始正文:
①.在Spring的IOC容器中配置JavaMailSenderImpl的Bean
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<!-- 服务器,这里我使用的是163邮箱 -->
<property name="host" value="smtp.163.com" />
<!-- 用户名 -->
<property name="username" value="***********@163.com" />
<!-- 密码 -->
<property name="password" value="*****" />
<!-- 端口号,163 smtp服务器的端口是25-->
<property name="port" value="25" />
<!-- 协议 -->
<property name="protocol" value="smtp"></property>
<!-- 默认编码的格式 -->
<property name="defaultEncoding" value="UTF-8"></property>
<!-- SMTP服务器的属性 -->
<property name="javaMailProperties">
<props>
<!-- 验证身份 -->
<prop key="mail.smtp.auth">true</prop>
<prop key="mail.smtp.from">******</prop>
<prop key="mail.debug">true</prop>
</props>
</property>
</bean>
注意:163默认SMTP是关闭的,需要在设置中打开,并且需要设置授权码,把授权码作为密码!
②.简单的在JSP页面写一个超链接
<!-- 发送邮件的连接-->
<a href="${pageContext.request.contextPath}/sendMail">发送邮件...</a>
③.这里我使用SpringMVC作为MVC框架!
//1.从IOC容器中获取JavaMailSenderImpl 实例
@Autowired
private JavaMailSenderImpl mailsender;
@RequestMapping(value="/sendMail",method=RequestMethod.GET)
public String sendMail() {
//2.创建邮件对象
SimpleMailMessage msg=new SimpleMailMessage();
//3.设置邮件的属性(来自哪?发送给谁?邮件的主题?邮件的正文?)
msg.setFrom(mailsender.getUsername()); //设置邮件发送来自哪?
msg.setTo("1632064889@qq.com"); //发送给谁?
msg.setSubject("测试"); //邮件的标题
msg.setText("SpringMail的测试邮件..."); //邮件的正文
//4.发送邮件
mailsender.send(msg);
return "wt";
}
④.测试是不是通过?
到这里,就完成了简单的发送邮件!