package com.puckasoft.video327.util;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
import java.util.UUID;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.HtmlEmail;
public class EmailUtil {
private static Properties properties;//配置信息
private static String hostName;//邮件服务器
private static String userName;//登录邮件服务器的用户名
private static String password;//登录邮件服务器的密码
private static String from;//邮件发送者
static {
properties=new Properties();
InputStream in = Thread.currentThread().getContextClassLoader()
.getResourceAsStream("email.properties");
try {
properties.load(in);
hostName = properties.getProperty("hostName");
userName = properties.getProperty("userName");
password = properties.getProperty("password");
from = properties.getProperty("from");
// System.out.println(hostName);
// System.out.println(userName);
// System.out.println(password);
// System.out.println(from);
} catch (IOException e) {
throw new ExceptionInInitializerError();
}
}
private static EmailUtil emailManager = new EmailUtil();
private EmailUtil() {
}
public static EmailUtil getInstance() {
return emailManager;
}
/**
* @author: new
* @data: Aug 27, 2009
* @param to 接收人的email
* @param subject 发送的邮件的主题
* @param msg 发送邮件的内容
* @return
* @throws EmailException
* @function:
*/
public boolean sendHtmlEmail(String to, String subject, String msg)
throws EmailException {
boolean flag = true;
HtmlEmail email = new HtmlEmail();
// 设置邮件字符集编码
email.setCharset("utf-8");
// 设置邮件服务器
email.setHostName(hostName);
email.setAuthentication(userName, password);
// 设置邮件主题
email.setSubject(subject);
// 设置邮件消息
email.setHtmlMsg(msg);
// 设置邮件发送者
email.setFrom(from);
// 设置邮件接收者
email.addTo(to);
email.send();
return flag;
}
public boolean sendResetPasswordEmail(String to, Map<String, String> params) {
String subject = properties.getProperty("resetPasswordSubject");
String msg = properties.getProperty("resetPasswordMsg");
try {
subject = new String(subject.getBytes("iso-8859-1"), "utf-8");
msg = new String(msg.getBytes("iso-8859-1"), "utf-8");
} catch (UnsupportedEncodingException e1) {
e1.printStackTrace();
}
// 用map里的值代替模板里的对应参数
//("path","url"),("keyId","fahfao097fankfhaoi") ${path}
for (Map.Entry<String, String> paramsEntry : params.entrySet()) {
//${path}-->http://192.168.1.245:8080/video325/user/resetPwd.jsp
//${keyId}-->fafafag2r535365732gsdsgs
msg = msg.replace("${" + paramsEntry.getKey() + "}", paramsEntry
.getValue());
}
System.out.println(subject);
System.out.println(msg);
try {
sendHtmlEmail(to, subject, msg);
} catch (EmailException e) {
e.printStackTrace();
return false;
}
return true;
}
public static void main(String[] args) {
Map<String, String> params = new HashMap<String, String>();
params.put("path", "http://192.168.1.245:8080/video325/resetPwd.jsp");
// System.out.println(UUID.randomUUID().toString());
params.put("keyId", UUID.randomUUID().toString().replace("-", ""));
EmailUtil.getInstance().sendResetPasswordEmail("lovemoonriver@126.com",
params);
}
}
分享到:
相关推荐
"Java邮箱找回密码"功能是一种常见的用户身份验证机制,它允许用户通过已注册的电子邮件地址重置丢失或忘记的密码。下面将详细介绍如何使用Java来实现这个功能,以及相关的知识点。 首先,我们需要一个用户模型...
【找回密码功能详解】 在Web应用开发中,找回密码功能是一项基本且重要的用户服务,它允许用户在忘记密码时通过邮箱或手机号等验证方式重置密码。本项目以"找回密码(jsp)"为主题,结合了Java、Ajax、SQL等技术,...
在网站开发中,提供“找回密码”功能是非常常见的需求,它为忘记密码的用户提供了一种便捷的方式重新获得账户访问权限。本文将详细介绍如何使用ASP.NET实现这一功能,包括前端页面设计与后端逻辑处理。 #### 前端...
总结来说,这个SpringBoot项目实现了利用QQ邮箱发送找回密码的邮件功能。通过配置邮件服务,创建邮件服务类,结合数据库操作,可以提供安全可靠的密码找回流程。同时,`u_user.sql`和`u_login.sql`以及`findpassword...
3. 邮件发送:smtplib和email库用于发送验证邮件。 4. 安全性:bcrypt或argon2用于密码哈希,防止明文存储。 5. URL路由:理解Flask或Django的URL路由机制,创建重置密码的URL。 6. HTTP请求:requests库用于处理...
public function send_email($judge_code,$user_email,$username){ import("@.ORG.My.base_mail");... $Subject='[111]找回您的帐户密码'; //发送邮件 $mail->SendMail($user_email,$message,$Subject); }
在IT行业中,邮箱验证和找回密码是Web应用中不可或缺的安全机制。本文将深入探讨如何使用Java来实现这一功能,特别是通过JavaMail API进行邮箱验证以及相关的安全策略。 首先,JavaMail API是Java平台上的一个开源...
在程序中将您写入的内容发送到您想要的邮箱
找回密码功能通常涉及到安全问题或邮箱验证。在Access中,可以设计一个流程,当用户忘记密码时,他们需要提供注册时设置的安全问题答案或通过电子邮件验证。如果用户能正确回答安全问题或通过邮件验证,系统可以生成...
9. **日志记录**:记录找回密码的过程,以便在出现问题时进行排查。 理解以上关键点后,开发者可以依据提供的"邮箱密码找回功能开发"源码进行学习和实践,通过分析代码结构、函数调用和变量处理,进一步提升PHP编程...
以下是关于"修改密码、找回密码"这一话题的详细解释。 4.10 修改密码 4.10.1 模块概述 在这个模块中,用户如果想更改他们的密码,可以在个人账户管理界面进行操作。为了确保安全性,系统会要求用户提供已绑定的...
在ASP.NET平台上开发一个找回密码的功能是Web应用中常见的安全需求。这个功能允许用户通过邮箱或手机验证来重置忘记的密码,确保账户的安全性。本教程将详细讲解如何实现这一过程,结合BTC视频教程和提供的源代码,...
email_title = "找回密码" code = random_str() request.session["code"] = code # 保存验证码到session email_body = f"验证码为:{code}" send_status = send_mail(email_title, email_body, EMAIL_HOST_USER...
message.Subject = "找回密码";//邮件标题 message.SubjectEncoding = Encoding.UTF8;//标题格式为UTF8 message.Body = text;//邮件内容 message.BodyEncoding = Encoding.UTF8;//内容格式为UTF8 message....
在Java开发中,有时我们需要向用户发送验证邮件,例如注册新账户、找回密码等场景。Apache Commons Email库为Java开发者提供了一个便捷的方式来实现这个功能。本篇将深入讲解如何使用Apache Commons Email工具类来...
**JSP找回密码** ...综上所述,JSP找回密码功能涉及到JSP、数据库操作、邮件发送等多个环节,每个环节都需要考虑安全性,以确保用户数据的安全。在实际开发中,还需要结合前端界面设计,提供良好的用户体验。
在IT行业中,邮箱验证是一种常见的身份验证方法,特别是在用户注册、密码找回等场景下。这里的“email点击进入发送邮箱链接验证”是指通过电子邮件发送一个含有验证链接的过程,用户点击该链接来确认他们拥有提供的...
【标题】"取回密码BY EMAIL功能模块带UI JAVA"是一个专门为用户提供密码找回服务的Java应用程序,它通过电子邮件作为验证用户身份的手段。这个模块包含了完整的用户界面(UI),允许用户方便地通过邮件来恢复他们...
在C#编程中,实现Email邮件发送功能通常用于各种场景,如找回或重置用户密码。这个功能涉及到网络安全和用户体验,因此设计时需要考虑用户数据的安全和操作的便捷性。以下是对C# Email邮件发送功能的详细解释: ...