精华内容
下载资源
问答
  • 邮箱注册

    千次阅读 2018-08-10 16:58:10
    邮箱注册 流程图 javaMail简介 Sun定义的一套接收、发送电子邮件的API 支持各种邮件协议,开发人员无需考虑底层通信细节 被作为Java EE的一部分,但没有被加入标准JDK中 需要获取jar包 <...

    邮箱注册

    • 流程图

    javaMail简介

    • Sun定义的一套接收、发送电子邮件的API
      • 支持各种邮件协议,开发人员无需考虑底层通信细节
      • 被作为Java EE的一部分,但没有被加入标准JDK中
    • 需要获取jar包
    <dependency>
        <groupId>javax.mail</groupId>
        <artifactId>mail</artifactId>
        <version>1.4.7</version>
    </dependency>
    • 常用API
      • Message:创建和解析邮件内容的核心API
      • Transport:发送邮件的API
    • 使用步骤
      1. 使用Properties对象封装连接所需的信息
      2. 获取Session对象
      3. 封装Message对象
      4. 使用Transport发送邮件
      5. 关闭连接
    • 通过原生javaMail发送邮件示例
    public class SendEmail
    {
        public static void main(String [] args)
        {  
            // 收件人电子邮箱
            String to = "abcd@gmail.com";
    
            // 发件人电子邮箱
            String from = "web@gmail.com";
    
            // 指定发送邮件的主机为 localhost
            String host = "localhost";
    
            // 获取系统属性
            Properties properties = System.getProperties();
    
            // 设置邮件服务器
            properties.setProperty("mail.smtp.host", host);
    
            // 获取默认session对象
            Session session = Session.getDefaultInstance(properties);
    
            try{
                // 创建默认的 MimeMessage 对象
                MimeMessage message = new MimeMessage(session);
    
                // Set From: 头部头字段
                message.setFrom(new InternetAddress(from));
    
                // Set To: 头部头字段
                message.addRecipient(Message.RecipientType.TO,
                                     new InternetAddress(to));
    
                // Set Subject: 头部头字段
                message.setSubject("This is the Subject Line!");
    
                // 设置消息体
                message.setText("This is actual message");
    
                // 发送消息
                Transport.send(message);
                System.out.println("Sent message successfully....");
                Transport.close();
            }catch (MessagingException mex) {
                mex.printStackTrace();
            }
        }
    }

    Spring Mail API

    • 对于JavaMail中邮件发送的相关功能,Spring提供了一个抽象层,简化了操作
    • 常用API
      • MailMessage:允许用户快速设置邮件内容的各种属性信息
      • MailSender:提供了发送简单邮件的策略
    • 使用步骤
      1. 导入所需jar文件
      2. 使用SimpleMailMessage实现简单的邮件消息
      3. 在Spring中配置JavaMailSenderImpl用以发送邮件

    详细步骤

    • 邮箱注册
      1. dao完成用户表的增删改查
      2. userService中编写createByMail方法:添加用户,生成激活码,发送邮件,激活码存入redis
      3. controller:邮箱验证(验证邮箱格式合法性),调用createByMail
    • 邮箱验证
      1. dao完成用户激活状态的更新
      2. userService中编写activate方法:验证激活码,更新用户
      3. controller:调用activate
    • userService中添加方法

    void itriptxCreateByMail(ItripUser user) throws Exception;
    • 编写mailService

    void sendActivationMail(String mailTo, String activationCode);
    • 实现itriptxCreateByMail方法

    @Override
    public void itriptxCreateByMail(ItripUser user) throws Exception {
        // 添加用户信息
        itripUserMapper.insertItripUser(user);
        // 生成激活码
        String activationCode = MD5.getMd5(user.getUserCode(), 32);
        // 发送邮件
        mailService.sendActivationMail(user.getUserCode(), activationCode);
        // 激活码存入redis
        redisAPI.set("activation:" + user.getUserCode(), activationCode, 30 * 60);
    }
    • 实现sendActivationMail方法,发送用户邮箱激活码

    @Service
    public class MailServiceImpl implements MailService {
    
        @Autowired
        private MailSender mailSender;
        @Autowired
        private SimpleMailMessage mailMessage;
    
        /**
         * 发送注册激活邮件
         */
        public void sendActivationMail(String mailTo, String activationCode) {
            mailMessage.setTo(mailTo);
            mailMessage.setText("注册邮箱:" + mailTo + "  激活码:" + activationCode);
            mailSender.send(mailMessage);
        }
    
    }
    • 编写applicationContext-mail.xml配置mail相关内容,通过实例化这个bean进行注入

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://www.springframework.org/schema/beans
                               http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
    
        <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
            <property name="defaultEncoding" value="utf-8"/>
            <property name="host" value="smtp.qq.com"/>
            <property name="port" value="25"/>
            <property name="username" value="***"/>
            <property name="password" value="***"/>
        </bean>
        <bean id="mailMessage" class="org.springframework.mail.SimpleMailMessage">
            <property name="subject" value="请激活您的账户"/>
            <property name="from" value="发送的邮箱号,必须到响应的邮箱开启服务"/>
        </bean>
    </beans>
    • 在applicationContext-mybatis.xml中导入mail的配置文件

    <!--导入邮件配置-->
    <import resource="applicationContext-mail.xml"/>
    • 测试

      • 注意,user表中的username为必填,所以需要设置

      • 邮件发送方必须开启第三方邮件服务

    • userService中编写activateByMail方法

    boolean activateByMail(String email, String code) throws Exception;
    • 实现activateByMail方法,判断邮箱以及激活码是否正确,正确则修改用户的状态为已经激活

    @Override
    public boolean activateByMail(String email, String code) throws Exception {
        // 验证激活码
        String key = "activation:" + email;
        if (redisAPI.exists(key)) {
            if (redisAPI.get(key).equals(code)) {
                ItripUser itripUser = findByUsername(email);
                if (EmptyUtils.isNotEmpty(itripUser)) {
                    itripUser.setActivated(1);//激活用户
                    itripUser.setUserType(0);//自注册用户
                    itripUser.setFlatID(itripUser.getId());
                    itripUserMapper.updateItripUser(itripUser);
                    return true;
                }
            }
        }
        return false;
    }
    • 编写userController

    • 先判断邮箱规范以及用户是否存在,成功才存进数据库,但是状态为未激活,通过接口发送激活码,并且存进Redis中

    @Controller
    @RequestMapping(value = "api")
    public class UserController {
    
        @Autowired
        private UserService userService;
    
        @RequestMapping(value = "/registerByMail", method = RequestMethod.POST, produces = "application/json")
        public @ResponseBody
            Dto registerByMail(@RequestBody ItripUserVO userVO) {
            if (!validEmail(userVO.getUserCode()))
                return DtoUtil.returnFail("请使用正确的邮箱地址注册", ErrorCode.AUTH_ILLEGAL_USERCODE);
            try {
                if (null == userService.findByUsername(userVO.getUserCode())) {
                    ItripUser user = new ItripUser();
                    user.setUserCode(userVO.getUserCode());
                    user.setUserName(userVO.getUserName());
                    user.setUserType(0);
                    user.setUserPassword(MD5.getMd5(user.getUserPassword(), 32));
                    userService.itriptxCreateByMail(user);
                    return DtoUtil.returnSuccess();
                } else {
                    return DtoUtil.returnFail("用户已存在,注册失败", ErrorCode.AUTH_USER_ALREADY_EXISTS);
                }
            } catch (Exception e) {
                e.printStackTrace();
                return DtoUtil.returnFail(e.getMessage(), ErrorCode.AUTH_UNKNOWN);
            }
        }


    编写IrtripUserVo

      判断用户邮箱以及激活码是否正确,并且返回结果给用户

      @RequestMapping(value = "/activateByMail", method = RequestMethod.PUT, produces = "application/json")
        @ResponseBody
        public Dto activateByMail(@RequestParam String email, @RequestParam String code) {
            try {
                if (userService.activateByMail(email, code)) {
                    return DtoUtil.returnSuccess("激活成功");
                } else {
                    return DtoUtil.returnSuccess("激活失败");
                }
            } catch (Exception e) {
                e.printStackTrace();
                return DtoUtil.returnFail("激活失败", ErrorCode.AUTH_ACTIVATE_FAILED);
            }
        }


    下面这部分可在前台页面用Jquery验证


        /**
         * 合法E-mail地址:
         * 1. 必须包含一个并且只有一个符号“@
         * 2. 第一个字符不得是“@”或者“.
         * 3. 不允许出现“@.”或者.@
         * 4. 结尾不得是字符“@”或者“.
         * 5. 允许“@”前的字符中出现“+”
         * 6. 不允许“+”在最前面,或者“+@”
         */

        private boolean validEmail(String email) {
            String regex = "^\\s*\\w+(?:\\.{0,1}[\\w-]+)*@[a-zA-Z0-9]+(?:[-.][a-zA-Z0-9]+)*\\.[a-zA-Z]+\\s*$";
            return Pattern.compile(regex).matcher(email).find();
        }

     

    展开全文
  • 匿名邮箱注册

    千次阅读 2019-10-16 21:32:59
    匿名邮箱注册1,匿名邮箱注册 1,匿名邮箱注册 ProtonMail:免费的加密电子邮箱
    展开全文
  • 企业邮箱已经成为了很多公司办公的必备工具,但在企业邮箱注册上,有不少公司的管理人员还不太清楚有哪些注意事项。市面上企业邮箱产品很多,选择购买之前需要详细了解,主要关注产品的以下方面: 1.注册途径 企业...

    企业邮箱已经成为了很多公司办公的必备工具,但在企业邮箱注册上,有不少公司的管理人员还不太清楚有哪些注意事项。市面上企业邮箱产品很多,选择购买之前需要详细了解,主要关注产品的以下方面:

    1.注册途径

    企业邮箱注册涉及到个人和公司信息,因此注册试用方面更倾向于直销渠道,例如TOM企业邮箱的官网进行登记。

    2.安全稳定

    安全稳定是一个企业邮箱是否好用的基本前提。稳定方面主要考察机房、架构、网络和运维经验

    3.海外收发

    这方面不是每家公司都有需求,如果需要的话则重点考量邮箱海外服务器和IP资源、解析技术、安全链路等。

    4.企业管理

    企业邮箱的一大特征就是企业能统一管理,数据同步备份等各个办公领域都有解决方案,可以详细体验找到合适的产品。

    5.售后服务

    企业邮箱一般都功能丰富,使用过程中难免会有疑问,优秀的售后服务团队可以很大程度上减少企业处理的时间。我们公司使用的TOM企业邮箱,反映任何情况都能快速专业地解答,而且是真人客服7*24小时提供服务,咨询几次以后我也能积累一些以上的经验,希望对大家有所帮助。

    展开全文
  • 邮箱注册微信

    千次阅读 2019-03-28 11:05:40
    现在微信已经关闭了QQ号和邮箱注册的功能,那如何才能用邮箱登陆微信呢?下面小编以TOM邮箱为例,分享一下邮箱登录微信的具体操作~ 1、打开微信,点击注册,默认为手机号注册。输入手机号注册一个账号(只用手机号...

    现在微信已经关闭了QQ号和邮箱注册的功能,那如何才能用邮箱登陆微信呢?下面小编以TOM邮箱为例,分享一下邮箱登录微信的具体操作~
    在这里插入图片描述
    1、打开微信,点击注册,默认为手机号注册。输入手机号注册一个账号(只用手机号注册,后面会解除绑定)
    在这里插入图片描述
    2、注册之后,点击右下角的【我】,点击【设置】在这里插入图片描述
    3、进入【账号与安全】,点击【更多安全设置】
    在这里插入图片描述
    4、在更多安全设置里会看到邮箱地址,点击修改邮件地址,输入自己的邮箱地址,点击确定。
    在这里插入图片描述
    5、进入邮箱进行验证,验证完成后,即可通过邮箱号登陆微信
    在这里插入图片描述

    展开全文
  • 如何能够快速注册一个邮箱账号呢,简单的快速注册账号流程分享免费邮箱首先,进入搜索引擎浏览器网址,敲上你注册的邮箱,如tom.com邮箱注册。页面会自动进入到官网啦~ 1 点击登陆框下方的“立即注册”按钮,填写...
  • 会员邮箱注册分析,注册vip邮箱详解 有些人可能会有疑问,同样是电子邮箱,为什么要用会员邮箱?今天就帮大家分析一下注册会员邮箱有哪些好处! 功能区别很大 会员邮箱的功能比免费邮箱更丰富完善。像我们用的TOM ...
  • 我们进行批量邮箱注册过程中,在性价比这方面时而不知如何选择,今天来为大家分析,批量注册的时,各邮箱品牌性价比有哪些特点? 了解邮箱基本信息: 邮箱品牌信息 目前五大邮箱品牌如TOM邮箱、搜狐、新浪、网易、...
  • 163VIP邮箱注册,163邮箱使用评价

    万次阅读 2018-12-26 15:24:31
    一、163VIP邮箱注册 163的VIP邮箱可细分为不同的品牌及域名,以常见的163.net 邮箱示例。 直接通过百度、360等进行 163.net邮箱或直接输入网址即可。 二、163.net邮箱使用测评 1、优化邮箱设置方面 ✔ 密保手机...
  • 关于邮箱注册的方法其实很简单,很多小伙伴按照流程操作即可,重点是需要了解在选择邮箱品牌时遇到的相关问题以及方法,一起来看下吧~ 如何选择邮箱 目前市面上几家主流品牌的邮箱我基本都用过。像搜狐、新浪、tom...
  • 今天分享给大家邮箱注册申请相关知识,怎么快速了解并注册邮箱? 1、电子邮箱:邮件服务器提供的电子邮件的存储空间,可存储、接收、发送电子邮件。相当于邮局信箱。类比20多年历史的TOM VIP邮箱。 2、电子邮件:...
  • gmail邮箱注册

    热门讨论 2009-05-04 20:17:45
    gmail邮箱注册器 应用与想大量注册邮箱的朋友使用,邮箱批量申请工具!
  • Django实现邮箱注册系统

    千次阅读 2019-01-27 19:42:13
    今天用Django来实现简易的邮箱注册系统,一个完整的邮箱注册系统需要有数据库存储信息、视图提供邮箱验证和前端页面展示数据   一、数据建模 在models.py中建立模型: 邮箱验证表 对于邮箱验证来说需要的字段...
  • 无论是多大规模,运营多久的公司,单位箱对公司来讲都至关重要,那么又应该注册如何单位企业邮箱呢?就以TOM企业邮箱为例,...单位邮箱注册 2、接下来请打开企业邮箱注册官网,然后就点击免费试用 单位邮箱注册 3、...
  • JAVA实现邮箱注册功能

    万次阅读 2018-11-27 10:49:55
    现在的互联网项目中基本都实现了邮箱注册的功能,但是该如何实现了,想必没接触过得人心里应该没有个具体的步骤 现在我们来看下是如何具体的实现一个邮箱注册的功能。 第一步、先选用个邮箱作为实例 以QQ邮箱为例...
  • SpringBoot邮箱注册验证

    千次阅读 2017-07-23 14:15:45
    注册功能是一个网站的基本功能刚刚实现了用邮箱来注册并验证的程序这里记录下有了上篇SpringBoot发送邮件的基础,我们就可以完成一个简单的邮箱注册功能了首先我们要在SpringBoot里配置pom.xml文件...
  • DEDECMS防恶意注册增加邮箱注册
  • 个人邮箱注册怎么申请 第一步:在浏览器搜索【TOM VIP邮箱申请】,进入网页 第二步:单击【注册】按钮,进入注册页面 第三步:选择适合自己的邮箱【套餐】 第四步:填写邮箱【申请信息】,输入手机号注册电子...
  • blued停止邮箱注册_停止让我注册!

    千次阅读 2020-07-11 08:31:10
    blued停止邮箱注册by Conor Sheehan 由Conor Sheehan 停止让我注册! (Stop Making Me Sign Up!) Installing a new app can be exciting. When you’ve found one that may be just what you need, opening it is ...
  • 电子邮箱注册格式是什么?电子邮箱格式怎么写呢?电子邮箱的需求量一直呈持续增长趋势,163.net、163vip.com、mail.tom.com等是目前极为主流的邮箱后缀,关于邮箱的选择及具体的格式让我们一起来了解下吧~
  • 今天以常见的163收费邮箱注册申请流程进行分享为什么选择收费邮箱众所周知邮箱其中一大优势便是多址投送(一封信同时发给多人),还可进行设置系统在对方收到信件后回送通知。 另外还有定时发送、读信后立即回信或...
  • 邮箱注册(发送邮件验证码;QQ邮箱) 先去QQ邮箱——》点击设置有POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务。开通会有授权码 复制粘贴代码就可以使用。根据指导更改配置即可。 如有报错 不能使用 还请大家谅解...
  • 应用场景:用户输入邮箱注册时,发送验证码到用户邮箱,验证码输入正确注册成功 需要添加的包:commons-email,javax.mail,activation <dependency> <groupId>org.apache.commons</groupId> <...
  • 在邮箱品牌的选择方面同样不例外,今天让我们来了解下关于邮箱注册那些事邮费的类型免费邮箱针对日常使用邮箱频率较低,仅作为日常验证信息及收发账单使用为主 收费vip邮箱从速度及安全性能方面较免费邮箱领先非常...
  •  我们在很多网站注册会员的时候,可以使用自己的邮箱注册,注册完成之后,会给你的注册邮箱发送一个邮件,邮件内容会包含一个链接,点击 激活下,这个账号就算注册完成了。我们就是实现一个类似功能。 实现逻辑: ...
  • 如何批量注册邮箱?怎么批量注册邮箱账号啊?这是最近好多朋友遇到的问题,今天就来为大家分享一下,如何去做。 方法一:TOM VIP邮箱官网注册 1、登陆官网,点击立即注册按钮,即可进入注册界面,如图所示: 2、...
  • 由于需要,我要做的网站不需要注册的时候填写邮件,需要关闭必填,于是从网上找了教程,发现没有后台的选项,之后知道,discuz3.2之后就取消 取消邮箱必填 这个选项了,于是从网上找了点资料,成功关闭邮箱注册必填...
  • 163邮箱注册

    千次阅读 2019-01-06 19:59:10
    import re while True: user = input(‘请输入您的邮箱:’) ...if ret==None: print(‘邮箱格式不正确!...print(‘注册成功!’) break while True: # user = input(‘请输入您创建的邮箱:’) &nbsp;# ret = ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 17,048
精华内容 6,819
关键字:

邮箱注册