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>"); // } }