我们在网上注册账号的时候通常会给注册的邮箱发送一个连接来进行用户的激活操作,在邮箱验证的过程中,服务端要有自己的邮箱服务器,给注册的邮箱发送邮件。
邮件协议:常用的 1.smtp 发送邮件协议; 2.pop 接受邮件协议。
邮箱服务的执行过程:
建立自己的邮箱验证服务
1、搭建邮箱服务器:
安装 eyoumailserversetup.exe
修改域名: 工具——>服务器设置——>liang.com
注册账号:账号——>新建账号
安装客户端:Foxmail,将服务器改为本地。
2、myeclipse开发环境设置
在javaee.jar中删除自带的发送邮件的jar包,添加自己的jar包到lib目录下。
3、创建发送邮件类
MailUitls
<span style="font-family:SimSun;font-size:18px;">package cn.itcast.shop.utils; import java.util.Properties; import javax.mail.Authenticator; import javax.mail.Message; 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 MailUitls { /** * 发送邮件的方法 * @param to :收件人 * @param code :激活码 */ public static void sendMail(String to,String code){ //获得对象 Properties props = new Properties(); props.setProperty("mail.host", "localhost"); Session session = Session.getInstance(props, new Authenticator() { @Override protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication("[email protected]", "111"); } }); //创建邮件对象 Message message = new MimeMessage(session); //设置发件人 try { message.setFrom(new InternetAddress("[email protected]")); //设置收件人 message.addRecipient(RecipientType.TO, new InternetAddress(to)); //抄送 CC 密送BCC //设置标题 message.setSubject("来自XXX的官方激活邮件"); //设置邮件正文。 message.setContent("<h1>来自XXX的官方激活邮件!点击链接完成激活操作。</h1><h3><a href='http://192.168.24.168:8080/shop8.2/user_active.action?code="+code+"'>http://192.168.24.168:8080/shop/user_active.action?code="+code+"</a></h3>", "text/html;charset=UTF-8"); Transport.send(message); } catch (AddressException e) { e.printStackTrace(); } catch (MessagingException e) { e.printStackTrace(); } } //测试 public static void main(String[] args) { sendMail("[email protected]","11111111111111"); } } </span>
4、运行结果
总结:这样就完成了邮件发送的功能,验证码可以代码随机生成,需要邮箱验证服务的功能,通过调用这个方法就可以进行验证。