发送邮件 激活用户或找回密码

public class SendMail {
	/**
	 * 发送简单邮件
	 * 
	 * @param str_from :发件人地址
	 * @param str_to :收件人地址
	 * @param str_title :邮件标题
	 * @param str_content :邮件正文
	 */
	public static boolean send(String str_from, String str_to, String str_title,
			String str_content) {

		try {
			// 建立邮件会话
			Properties props = new Properties(); // 用来在一个文件中存储键-值对的,其中键和值是用等号分隔的,
			// 存储发送邮件服务器的信息
			props.put("mail.smtp.host", MailConstant.mailServer);
			// 同时通过验证֤
			props.put("mail.smtp.auth", "true");
			// 根据属性新建一个邮件会话
			Session s = Session.getInstance(props);
			// 有他会打印一些调试信息。
			// s.setDebug(true);

			// 由邮件会话新建一个消息对象
			MimeMessage message = new MimeMessage(s);

			// 设置邮件
			InternetAddress from = new InternetAddress(str_from);
			message.setFrom(from);// 设置发件人的地址ַ

			// 设置收件人,并设置其接收类型为TO
			InternetAddress to = new InternetAddress(str_to);
			message.setRecipient(Message.RecipientType.TO, to);

			// 设置标题
			message.setSubject(str_title, "UTF-8");

			// 设置信件内容
			// 发送文本邮件
			// message.setText(str_content,"UTF-8");
			// 发送HTML邮件
			message.setContent(str_content, "text/html;charset=gbk");

			// 设置发信时间
			message.setSentDate(new Date());

			// 设置编码格式

			// 存储邮件信息
			message.saveChanges();

			// 发送邮件
			Transport transport = s.getTransport("smtp");
			// 以smtp方式登录邮箱,第一个参数是发送邮件用的邮件服务器SMTP地址,第二个参数为用户名,第三个参数为密码
			transport.connect(MailConstant.mailServer, MailConstant.mailAddress,
					MailConstant.mailPassword);
			// 发送邮件,其中第二个参数是所有已设好的收件人地ַ
			transport.sendMessage(message, message.getAllRecipients());
			transport.close();
			return true;
		} catch (Exception e) {
			e.printStackTrace();
		}
		return false;
	}
	public static void main(String[] args) {
		boolean bool = SendMail.send("from aaaa@163.com", "toxxxx@qq.com", "title邮件标题",
				 "恭喜你注册成功,请点击链接完成注册"+"http://www.baidu.com");
		
			System.out.println(bool);
	}
}


发送邮件需要注意的地方:

进发邮件的账号,要设置开启POP3/SMTP/IMAP服务.

 

 

 

 

http://blog.csdn.net/tjcyjd/article/details/6886351

 

思路:

思路就是发送邮件→连接邮件里的URL→修改密码

重点就是如何生成这个url和如何解析这个url.

需要注意的是一个url只能修改一次密码,当同一帐号发送多封邮件,只有最后一封邮件的url

是有效的

随便搞一长串的随机字符auth_key,有意义也好,没意义也好,总之要看(研究)不出来是啥,全局唯一(组合使用uuid、时间、机器特征、随机数等)。
然后在db里有张表,用uid和这个auth_key关联,同时可以有过期时间的字段。
同一个uid,只有一条记录。
甚至可以有一个单独的程序(线程、进程)去扫描此表,过期的记录就删掉。

给用户的url里带回那个auth_key,到db里查查有没有记录,过没过期,然后就可以让用户修改密码了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估中心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值