admin管理员组文章数量:1570807
service
public void register(User user) throws UserException{
try {
//往数据库添加用户
userDao.addUser(user);
String link="http://127.0.0.1:8080/bookstore/active?activeCode="+user.getActiveCode();
String html="<a href=\""+link+"\">欢迎你注册网上书城账号,请点击激活</a>";
System.out.println(html);
SendJMail.sendMail(user.getEmail(), html);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
throw new UserException("用户注册失败,用户名重复");
}
}
utils
public class SendJMail {
public static boolean sendMail(String email, String emailMsg) {
String from = ""; // 邮件发送人的邮件地址
String to = email; // 邮件接收人的邮件地址
final String username = ""; //发件人的邮件帐户
final String password = ""; //发件人的邮件密码
//定义Properties对象,设置环境信息
Properties props = System.getProperties();
//设置邮件服务器的地址
/*
props.setProperty("mail.smtp.host", "smtp.qq"); // 指定的smtp服务器
props.setProperty("mail.smtp.auth", "true");
props.setProperty("mail.transport.protocol", "smtp");//设置发送邮件使用的协议
*/
props.setProperty("mail.transport.protocol", "smtp");
props.setProperty("mail.smtp.auth", "true");
//创建Session对象,session对象表示整个邮件的环境信息
Session session = Session.getInstance(props);
//设置输出调试信息
session.setDebug(true);
try {
//Message的实例对象表示一封电子邮件
MimeMessage message = new MimeMessage(session);
//设置发件人的地址
message.setFrom(new InternetAddress(from));
//设置主题
message.setSubject("用户激活");
//设置邮件的文本内容
//message.setText("Welcome to JavaMail World!");
message.setContent((emailMsg),"text/html;charset=utf-8");
//设置附件
//message.setDataHandler(dh);
//从session的环境中获取发送邮件的对象
Transport transport=session.getTransport();
//连接邮件服务器
transport.connect("smtp.qq",25, username, password);
//设置收件人地址,并发送消息
transport.sendMessage(message,new Address[]{new InternetAddress(to)});
transport.close();
return true;
} catch (MessagingException e) {
e.printStackTrace();
return false;
}
}
}
SendJMail类中,有username 与password两个属性 ,请自行填写自己的公司邮件服务器账号及密码,若自行本地测试,我是使用的qq邮箱,要获取qq邮箱的授权码
如何获取qq邮箱授权码,如下图
如上图,点击左上角的设置
进入到上方界面, 点击账户下滑会看到如下图
这里开启pop3与smtp服务,即可获取授权码
本地测试中password需要填写授权码
倘若你的邮件发送成功了以后,点击邮件却无法打开网页出现下图这种情况
这里将邮件中的a标签中href的地址中的localhost 改为127.0.0.1即可
版权声明:本文标题:Java 实现向邮箱发送邮件及点击邮件激活网页打不开等问题,常用作注册账号及激活账号(测试为qq邮箱) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dianzi/1726184811a1059401.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论