现在很多的网站都提供有用户注册功能,通常我们注册成功之后就会收到一封来自注册网站的邮件。邮件里面的内容可能包含了我们的注册的用户名和密码以及一个激活账户的超链接等信息。今天我们也来实现一个这样的功能,用户注册成功之后,就将用户的注册信息以Email的形式发送到用户的注册邮箱当中,实现发送邮件功能就得借助于JAVAMAIL了
JavaWeb注册界面
首先,注册界面是可以从easyui官网当中的form当中找到的,除了复制表单代码也不要忘记了复制它自带的css以及js代码哦!
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<c:if test="${param.msg!=null and param.msg=='pass'}">
<script type="text/javascript">
alert("密码错误!");
</script>
</c:if>
<c:if test="${param.msg!=null and param.msg=='nouser'}">
<script type="text/javascript">
alert("账号不存在!");
</script>
</c:if>
<form action="customer?action=login" method="post">
<div>
<h1>用户登录</h1>
</div>
<div>
<input placeholder="请输入用户名/邮箱/手机号" id="cname" name="cname" value="${cname}" class="easyui-textbox" data-options="iconCls:'icon-users',iconWidth:30,iconAlign:'left',prompt:'用户名'" style="width:100%;height:35px;" />
</div>
<div>
<input placeholder="请输入密码" id="pass" name="pass" type="password" value="${pass}" class="easyui-passwordbox" data-options="iconWidth:30,iconAlign:'left',prompt:'密码'" style="width:100%;height:35px;" />
</div>
<div>
<input type="checkbox" labelWidth="70" name="remenber" value="remenber"/>记住密码
</div>
<div style="float: right;position: relative;top:-25px;">
<input type="checkbox" labelWidth="70" name="autoLogin" value="autoLogin" />自动登录
</div>
<div>
<input class="easyui-linkbutton" type="submit" value="登录" style="width:100%;height:35px;" />
</div>
<div>
<div style="display:inline;">
<a href=" ">还未注册?</a >
</div>
<div style="display:inline;margin-left:170px;">
<a href="javascript:void(0)">忘记密码?</a >
</div>
</div>
</form>
</body>
</html>
实现邮件的发送功能
当用户完成注册时,会发送一个邮件到他注册输入的邮箱当中,点击此邮箱的激活码即可激活用户进行登录
package com.cssve.com.email;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message.RecipientType;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class EmailUtils {
/*
* 读取配置文件
*
* 1,io【输入流】src目录下
*
*
*/
//属性对象
static Properties properties=new Properties();
static{
try {
//加载配置文件信息
InputStream in = EmailUtils.class.getClassLoader().getResourceAsStream("email.properties");
//加载流中的数据
properties.load(in);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/*
* 【通用】发送邮件
*
* 参数:
* 1,接受者
* 2,主题
* 3,内容
*
* 返回值类型
* boolean
*/
public static boolean sendEmail(String to,String subject,String content){
try {
Properties props=new Properties();
props.setProperty("mail.host",properties.getProperty("host") );
props.setProperty("mail.smtp.auth",properties.getProperty("auth") );
props.setProperty("mail.transport.protocol",properties.getProperty("protocol") );
Authenticator authenticator=new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(properties.getProperty("username"), properties.getProperty("password"));
}
};
//获取连接
Session session = Session.getInstance(props, authenticator);
session.setDebug(true);
//准备一封邮件、
MimeMessage message=new MimeMessage(session);
//设置发送者
message.setFrom(new InternetAddress(properties.getProperty("username")));
// 设置接受者
message.setRecipients