Javaweb网上商城项目实战(8)实现用户激活邮件发送

修改MailUtils.java

MailUtils.java是我们之前导入的工具类,这个工具类可以实现注册激活邮件的发送,我们先修改一下url和我们项目路径一致,并进行测试,通过后再做后续工作,完整代码如下:

package com.geekerstar.store.utils;

import java.util.Properties;

import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMessage.RecipientType;

public class MailUtils {

	public static void sendMail(String email, String emailMsg)
			throws AddressException, MessagingException {
		// 1.创建一个程序与邮件服务器会话对象 Session

		Properties props = new Properties();
		//设置发送的协议
		//props.setProperty("mail.transport.protocol", "SMTP");
		
		//设置发送邮件的服务器
		//props.setProperty("mail.host", "smtp.126.com");
		//props.setProperty("mail.smtp.auth", "true");// 指定验证为true

		// 创建验证器
		Authenticator auth = new Authenticator() {
			public PasswordAuthentication getPasswordAuthentication() {
				//设置发送人的帐号和密码
				return new PasswordAuthentication("admin@store.com", "admin");
			}
		};

		Session session = Session.getInstance(props, auth);

		// 2.创建一个Message,它相当于是邮件内容
		Message message = new MimeMessage(session);

		//设置发送者
		message.setFrom(new InternetAddress("admin@store.com"));

		//设置发送方式与接收者
		message.setRecipient(RecipientType.TO, new InternetAddress(email)); 

		//设置邮件主题
		message.setSubject("用户激活");
		// message.setText("这是一封激活邮件,请点击");

		String url="http://localhost:8080/store_v1/UserServlet?method=active&code="+emailMsg;
		String content="

来自极客商城的激活邮件!激活请点击以下链接!

"+url+"

"; //设置邮件内容 message.setContent(content, "text/html;charset=utf-8"); // 3.创建 Transport用于将邮件发送 Transport.send(message); } public static void main(String[] args) throws AddressException, MessagingException { MailUtils.sendMail("aaa@store.com", "123456789"); } }

修改完代码接下来简单测试一下,右键–>Run as –> java application,然后返回Foxmail,点击收取,如果收到激活邮件表示功能无误。

完成用户激活

接下来完善UserServlet的userRegist方法,在注册成功之前(42行)添加如下代码

// 发送邮件
MailUtils.sendMail(user.getEmail(), user.getCode());

然后先在数据库中删除原来的那个aaa用户重新运行项目,打开主页,点击注册,输入信息

注意邮箱要输入aaa@store.com,点击注册,提示注册成功。

然后查看数据库中是否已添加刚才注册的用户,并注意观察state的值都是0

然后打开Foxmail,点击收取,此时我们接到注册邮件,点击链接,完成注册

[v_error]注意:至此注册功能已完成,但是激活功能还没做完,下一节我们继续完成激活功能[/v_error]

源码下载

[dm href=’https://www.jikewenku.com/product/1700.html’]下载地址[/dm]

本站所有文章均由网友分享,仅用于参考学习用,请勿直接转载,如有侵权,请联系网站客服删除相关文章。若由于商用引起版权纠纷,一切责任均由使用者承担
极客文库 » Javaweb网上商城项目实战(8)实现用户激活邮件发送

Leave a Reply

欢迎加入「极客文库」,成为原创作者从这里开始!

立即加入 了解更多