最新公告
  • 新注册用户请前往个人中心绑定邮箱以便接收相关凭证邮件!!!点击前往个人中心
  • 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)实现用户激活邮件发送

    常见问题FAQ

    如果资源链接失效了怎么办?
    本站用户分享的所有资源都有自动备份机制,如果资源链接失效,请联系本站客服QQ:2580505920更新资源地址。
    如果用户分享的资源与描述不符怎么办?
    可以联系客服QQ:2580505920,如果要求合理可以安排退款或者退赞助积分。
    如何分享个人资源获取赞助积分或其他奖励?
    本站用户可以分享自己的资源,但是必须保证资源没有侵权行为。点击个人中心,根据操作填写并上传即可。资源所获收益完全归属上传者,每周可申请提现一次。
    如果您发现了本资源有侵权行为怎么办?
    及时联系客服QQ:2580505920,核实予以删除。

    参与讨论

    • 192会员总数(位)
    • 3737资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 614稳定运行(天)

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

    立即加入 了解更多
    成为赞助用户享有更多特权立即升级