• 邮箱验证工具类


    import com.itszt.jzzj.domain.user.User;
    import java.io.*;
    import java.util.Properties;
    import javax.mail.Address;
    import javax.mail.MessagingException;
    import javax.mail.Session;
    import javax.mail.Transport;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeMessage;
    /**
     * 邮箱链接验证
     * 基于网易云信,详情请参考网易云信官方API
     */
    public class SendJMail {
    	public static boolean sendMail(String email, User user) {
    		String from = "13522624136@163.com"; // 邮件发送人的邮件地址
    		String to = email.trim(); 										// 邮件接收人的邮件地址
    		final String username = "13522624136";  //发件人的邮件帐户
    		final String password = "shijian321";   					//发件人的邮件密码
    		//定义Properties对象,设置环境信息
    		Properties props = System.getProperties();
    		//设置邮件服务器的地址
    		props.setProperty("mail.smtp.host", "smtp.163.com"); // 指定的smtp服务器
    		props.setProperty("mail.smtp.auth", "true");
    		props.setProperty("mail.transport.protocol", "smtp");//设置发送邮件使用的协议
    		//创建Session对象,session对象表示整个邮件的环境信息
    		Session session = Session.getInstance(props);
    		//设置输出调试信息
    		session.setDebug(true);
    		try {
    			//Message的实例对象表示一封电子邮件
    			MimeMessage message = new MimeMessage(session);
    			//设置发件人的地址
    			message.setFrom(new InternetAddress(from));
    			//设置主题
    			message.setSubject("尊敬的:"+user.getAccount()+"您的兼职之家激活邮件");
    			//设置邮件的文本内容
    //			message.setText("<h1>我是大黄!!</h1>");
    			message.setContent(genEmilMsg(user),"text/html;charset=utf-8");
    			//从session的环境中获取发送邮件的对象
    			Transport transport=session.getTransport();
    			//连接邮件服务器
    			transport.connect("smtp.163.com",25, username, password);
    			//设置收件人地址,并发送消息
    			transport.sendMessage(message,new Address[]{new InternetAddress(to)});
    			transport.close();
    			return true;
    		} catch (MessagingException e) {
    			e.printStackTrace();
    			sendMail(email,user);
    			return false;
    		}
    	}
    	private static String genEmilMsg(User user){
    		try {
    			BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(new FileInputStream(UtilGetRealPath.getRealPath("/激活页面.html")),"UTF-8"));
    			StringBuilder stringBuilder=new StringBuilder();
    			String temp=null;
    			while ((temp=bufferedReader.readLine())!=null){
    				temp=temp.replace("dahuang",user.getAccount());
    				temp=temp.replace("http://www.baidu.com","http://localhost/ActiveServlet?userID="+user.getUserid()+"&useraccount="+user.getAccount());
                    stringBuilder.append(temp);
                }
                return stringBuilder.toString();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    		return "hello";
    	}
    //	public static void main(String[] args) throws IOException {
    //		sendMail("zhanzhitang111@163.com",stringBuilder.toString());
    ////		sendMail("zhanzhitang111@163.com","<div>你好2</div>");
    //	}
    }  
  • 相关阅读:
    Java并发之ThreadPoolExecutor
    Java并发之同步工具类
    em和i , b和Strong 的区别
    OS应用架构谈(二):View层的组织和调用方案(中)
    iOS应用架构谈(二):View层的组织和调用方案(上)
    java(List或Array数组)求交集、并集、差集, 泛型工具类
    AES/DES 可逆性加密算法 -- java工具类
    用xtrabackup实现mysql的主从复制 阿里云rds到自己创建mysql
    java 生成二维码工具
    XDU 1022 (数论筛法+前缀和)
  • 原文地址:https://www.cnblogs.com/lizhangyong/p/8625731.html
Copyright © 2020-2023  润新知