现在许多网站越来越流行注册后通过发送验证邮件方式来完成激活,自己研究了相关示例后,采用James邮件服务器,进行了简单的实现,步骤如下:
运行环境
使用James邮箱服务器,需要创建相应的用户,Foxmail邮箱客户端,MySQL数据库,MyBatis框架,需要导入javax.mail.jar及javax.activation.jar。
数据库表结构
用户表t_user有五个字段分别为用户名、密码、邮箱地址、激活码、状态:
| username | password | email |code |state |
核心代码
业务实体
public class UserInfo {
private String username;
private String password;
private String email;
private String code;
private int state;
//省略getter/setter
}
数据访问接口
public interface UserDaoMapper {
//注册用户
public int addUser(UserInfo user);
//更新用户状态
public int updateState(String uuid);
}
MyBatis配置文件
<?xml version="1.0"encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTDConfig 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<!-- 配置数据库连接信息 -->
<dataSource type="POOLED">
<property name="driver"value="com.mysql.jdbc.Driver" />
<property name="url"value="jdbc:mysql://localhost:3306/test" />
<property name="username"value="root" />
<property name="password"value="123456" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="wanshi/mybatis/UserDaoMapper.xml"/>
</mappers>
</configuration>
MyBatis映射文件
<?xml version="1.0"encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTDMapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="wanshi.mybatis.UserDaoMapper">
<!-- 增加用户,此功能用于注册用户的邮箱验证