JSP 邮箱验证 激活链接

时间:2021-07-13 13:54:18
jsp   怎么 实现 邮箱验证啊?
就是那种 注册用户时  往邮箱发送验证链接,点击后才能注册成功的那种。
有源码的话 分享一下啊
谢谢了

14 个解决方案

#1


给个思路吧 源码没有 

发邮件时往邮箱内写上链接及验证码就行了。。

#2


去百度下吧

#3


你搜个java邮箱发送的。把内容设置成链接。返回到你那里服务器里就成

#4


注册时用用户名生成MD5   再把当前时间也加进去也生成MD5
连接写成这样 
比如 
http://xxx.com/reg?username=XXXXXXX&time=XXXXXX
把这链接发到用户邮箱 
用户点击连接后  去对比username  time和值

#5


网上搜个java邮件发送的代码,把邮件内容写成你的地址让用户去点就行了,其实就是一个简单的超链接,跳转到你想跳转的地方就行了,你的东东和邮件之间就是一个地址的问题。

#6


超链接加上验证信息,以免过期

#7


引用 4 楼 tonyzzp 的回复:
注册时用用户名生成MD5   再把当前时间也加进去也生成MD5
连接写成这样 
比如 
http://xxx.com/reg?username=XXXXXXX&time=XXXXXX
把这链接发到用户邮箱 
用户点击连接后  去对比username  time和值

恩,都要使用加密,以及对比生成。
--
毕竟发到邮箱的链接也是对服务器的一个请求。只要服务器数据库中保存着对应的数据,就可以根据一定的规则来匹配了。

#8


JAVAMAIL

#9


没有源码啊.....?

#10


java 发送邮件:




package com.east.email;

import java.util.Date;
import java.util.Properties;

import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;

/**
 *author:East(张栋芳)
 *date:2008-7-17
 *
 **/
public class SendMail {
 private static MailAuthenticator autherticator=null;
 public static void main(String[] args) {
  for (int i=0;i<5;i++){
 
String from="zdf_zdf520@163.com";
String to="271536394@qq.com";
String smtpServer="smtp.163.com";
String subject="Hello ,this is a email Test!!";
String content ="Welcome to you!!";
Properties props = System.getProperties();

props.put("mail.smtp.host", smtpServer);
props.put("mail.smtp.auth","true");
autherticator = new MailAuthenticator("zdf_zdf520@163.com","XXXXXXXX");
    Session session = Session.getDefaultInstance(props,autherticator);
    MimeMessage msg = new MimeMessage(session);
    try{
       msg.setFrom(new InternetAddress(from));
       msg.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(to));
       msg.setSubject(subject);
       msg.setSentDate(new Date());
       msg.setText(content);
       Transport.send(msg);
       System.out.println("成功发送邮件......");
    }catch(Exception se){
     se.printStackTrace();
    }
    }
}
}
//现在的大部分的邮件服务器都要求有身份验证,所以需要此类实现验证功能
class MailAuthenticator extends Authenticator{

    private String username = null;
    private String userpasswd = null;

    public MailAuthenticator(){}
    public MailAuthenticator(String username,String userpasswd){
        this.username = username;
        this.userpasswd = userpasswd;
    }
    
    public void setUserName(String username){
        this.username = username;
    }

    public void setPassword(String password){
        this.userpasswd = password;
    }

    public PasswordAuthentication getPasswordAuthentication(){
        return new PasswordAuthentication(username,userpasswd);
    }
}


#11


注册成功后,发送一个邮件到用户的邮箱中,在邮件中就要包含激活地址给用户激活,当用户点击激活地址后,就可以正常使用了,思路就是这样的啊~~

#12


意思是 去百度下载吧
引用 2 楼 panch1013518568 的回复:
去百度下吧

#13


 我在这接个问题。
   如果我只是发送个验证码过去呢。验证码需要用户登录邮箱后,自己填写。 这验证码该怎么去保存啊?

#14


验证邮箱必须要使用java jar包 commons-email组件   相对于应用JavaMail组件实现发送邮件,使用commons-email组件实现发送邮件显得更加简单。在实现激活用户注册时,需要应用commons-email组件的SimpleEmail类来实现向用户的邮箱中发送一个URL链接地址。该地址包含了用户注册时的用户名和id,当访问这个连接时,就会提交当前包含用户名和id的请求参数到Servlet 然后通过Servlet的相关方法跟新当前该用户的激活状态即可

#1


给个思路吧 源码没有 

发邮件时往邮箱内写上链接及验证码就行了。。

#2


去百度下吧

#3


你搜个java邮箱发送的。把内容设置成链接。返回到你那里服务器里就成

#4


注册时用用户名生成MD5   再把当前时间也加进去也生成MD5
连接写成这样 
比如 
http://xxx.com/reg?username=XXXXXXX&time=XXXXXX
把这链接发到用户邮箱 
用户点击连接后  去对比username  time和值

#5


网上搜个java邮件发送的代码,把邮件内容写成你的地址让用户去点就行了,其实就是一个简单的超链接,跳转到你想跳转的地方就行了,你的东东和邮件之间就是一个地址的问题。

#6


超链接加上验证信息,以免过期

#7


引用 4 楼 tonyzzp 的回复:
注册时用用户名生成MD5   再把当前时间也加进去也生成MD5
连接写成这样 
比如 
http://xxx.com/reg?username=XXXXXXX&amp;time=XXXXXX
把这链接发到用户邮箱 
用户点击连接后  去对比username  time和值

恩,都要使用加密,以及对比生成。
--
毕竟发到邮箱的链接也是对服务器的一个请求。只要服务器数据库中保存着对应的数据,就可以根据一定的规则来匹配了。

#8


JAVAMAIL

#9


没有源码啊.....?

#10


java 发送邮件:




package com.east.email;

import java.util.Date;
import java.util.Properties;

import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;

/**
 *author:East(张栋芳)
 *date:2008-7-17
 *
 **/
public class SendMail {
 private static MailAuthenticator autherticator=null;
 public static void main(String[] args) {
  for (int i=0;i<5;i++){
 
String from="zdf_zdf520@163.com";
String to="271536394@qq.com";
String smtpServer="smtp.163.com";
String subject="Hello ,this is a email Test!!";
String content ="Welcome to you!!";
Properties props = System.getProperties();

props.put("mail.smtp.host", smtpServer);
props.put("mail.smtp.auth","true");
autherticator = new MailAuthenticator("zdf_zdf520@163.com","XXXXXXXX");
    Session session = Session.getDefaultInstance(props,autherticator);
    MimeMessage msg = new MimeMessage(session);
    try{
       msg.setFrom(new InternetAddress(from));
       msg.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(to));
       msg.setSubject(subject);
       msg.setSentDate(new Date());
       msg.setText(content);
       Transport.send(msg);
       System.out.println("成功发送邮件......");
    }catch(Exception se){
     se.printStackTrace();
    }
    }
}
}
//现在的大部分的邮件服务器都要求有身份验证,所以需要此类实现验证功能
class MailAuthenticator extends Authenticator{

    private String username = null;
    private String userpasswd = null;

    public MailAuthenticator(){}
    public MailAuthenticator(String username,String userpasswd){
        this.username = username;
        this.userpasswd = userpasswd;
    }
    
    public void setUserName(String username){
        this.username = username;
    }

    public void setPassword(String password){
        this.userpasswd = password;
    }

    public PasswordAuthentication getPasswordAuthentication(){
        return new PasswordAuthentication(username,userpasswd);
    }
}


#11


注册成功后,发送一个邮件到用户的邮箱中,在邮件中就要包含激活地址给用户激活,当用户点击激活地址后,就可以正常使用了,思路就是这样的啊~~

#12


意思是 去百度下载吧
引用 2 楼 panch1013518568 的回复:
去百度下吧

#13


 我在这接个问题。
   如果我只是发送个验证码过去呢。验证码需要用户登录邮箱后,自己填写。 这验证码该怎么去保存啊?

#14


验证邮箱必须要使用java jar包 commons-email组件   相对于应用JavaMail组件实现发送邮件,使用commons-email组件实现发送邮件显得更加简单。在实现激活用户注册时,需要应用commons-email组件的SimpleEmail类来实现向用户的邮箱中发送一个URL链接地址。该地址包含了用户注册时的用户名和id,当访问这个连接时,就会提交当前包含用户名和id的请求参数到Servlet 然后通过Servlet的相关方法跟新当前该用户的激活状态即可