上一篇博客我讲了阿里云短信验证,这篇博客讲邮箱验证

还是上篇一样,首先在阿里云上开启邮箱服务,然后申请一个阿里云邮箱,阿里云默认开启POP3/STMP,根据帮助文档进行配置邮箱的一些必须的东西。

然后添加maven依赖

<!-- https://mvnrepository.com/artifact/javax.mail/mail -->
<dependency>
    <groupId>javax.mail</groupId>
    <artifactId>mail</artifactId>
    <version>1.4.7</version>
</dependency>

添加完maven依赖以后,更短信验证一样写一个工具类,

import java.util.Properties;
import java.util.Random;

import javax.mail.Address;
import javax.mail.Authenticator;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

import org.apache.log4j.Logger;

public class MailUtil {
final Logger logger = Logger.getLogger(MailUtil.class);
private static final String ALIDM_SMTP_HOST = "smtpdm.aliyun.com";
private static final String AUTH="true";
private static final String CLASS="javax.net.ssl.SSLSocketFactory";
private static final String SOCKETFACTORY_PORT="465";//为什么不用25端口,因为现在的阿里云已经将25禁用了
private static final String PORT="465";
private static final String FROM="";//这个是你设置发信地址的时候的发信地址
private static final String PASSWORD="";//这个就是你设置的STMP的密码
    public int SendMail(String email) {
    logger.info("发送邮件!!");
    int  x =0;
        // 配置发送邮件的环境属性
        final Properties props = new Properties();
        // 表示SMTP发送邮件,需要进行身份验证
        props.put("mail.smtp.auth", AUTH);
        props.put("mail.smtp.host", ALIDM_SMTP_HOST);
        props.put("mail.smtp.socketFactory.class", CLASS);
        props.put("mail.smtp.socketFactory.port", SOCKETFACTORY_PORT);
        props.put("mail.smtp.port", PORT);
        // 发件人的账号
        props.put("mail.user", FROM);
        // 访问SMTP服务时需要提供的密码
        props.put("mail.password", PASSWORD);
        // 构建授权信息,用于进行SMTP进行身份验证
        Authenticator authenticator = new Authenticator() {
            @Override
            protected PasswordAuthentication getPasswordAuthentication() {
                // 用户名、密码
                String userName = props.getProperty("mail.user");
                String password = props.getProperty("mail.password");
                return new PasswordAuthentication(userName, password);
            }
        };
        // 使用环境属性和授权信息,创建邮件会话
        Session mailSession = Session.getInstance(props, authenticator);
//        mailSession.setDebug(true);
        // 创建邮件消息
        MimeMessage message = new MimeMessage(mailSession);
        try {
        // 设置发件人
        InternetAddress from = new InternetAddress(FROM);
        message.setFrom(from);
        Address[] a = new Address[1];
        a[0] = new InternetAddress(FROM);
        message.setReplyTo(a);
        // 设置收件人
        InternetAddress to = new InternetAddress(email);
        message.setRecipient(MimeMessage.RecipientType.TO, to);
        // 设置邮件标题
        message.setSubject("验证邮件");
        // 设置邮件的内容体
        x = new Random().nextInt(1000000);
        message.setContent("尊敬的用户您好,您的验证码是:"+x+"   请勿告诉别人!!", "text/html;charset=UTF-8");
        // 发送邮件
        Transport.send(message);
        }
        catch (MessagingException e) {
        System.out.println(e);
        logger.info("发送邮件失败,错误是:"+e);
            String err = e.getMessage();
            // 在这里处理message内容, 格式是固定的
            System.out.println(err);
        }
        System.out.println(x);
        logger.info("发送邮件成功,验证码是:"+x);
return x;
    }
}

然后调用这个工具类就能给人发送邮箱验证了,然后邮箱验证每天有200条免费。

阿里云STMP邮箱验证相关推荐

  1. 基于nodemailer使用阿里云企业邮箱发送邮件(526错误的解决)

    在虽然日常生活中,QQ,微信等即时聊天工具几乎主导了人们的生活,但是邮件依然是现代生活不可缺少的一部分.这篇文章主要讲述使用node.js 中的nodemail模块操作阿里云的企业邮箱发送邮件 (52 ...

  2. 解决阿里云企业邮箱发送错误码提示

    阿里云企业邮箱错误代码提示原因及解决方法,阿小云分享阿里云企业邮箱使用过程中报错.错误原因及解决方法: 阿里云企业邮箱报错及解决方法 在使用企业邮箱时如发生相应的报错,可参见以下报错信息进行解决: 本 ...

  3. 阿里云企业邮箱发送邮件失败,在本地测试可行,在云服务器上失败

    最近公司有个业务,让我做一个发邮件的功能,前端传信息给后端,然后让我直接把信息传到某企业邮箱上去,本人用阿里云企业邮箱做好功能之后在本地测试没有问题,但是上传到公司服务器之后却一直显示错误. 找到服务 ...

  4. 阿里云短信验证解决方案(java版)(redis存储)

    阿里云短信验证解决方案(java版)(redis存储) 参考文章: (1)阿里云短信验证解决方案(java版)(redis存储) (2)https://www.cnblogs.com/Amos-Tur ...

  5. 阿里云企业邮箱收费吗

      阿里云企业邮箱收费吗,企业邮箱哪个便宜好用,阿里企业邮箱怎么试用,怎么办理阿里企业邮箱询"阿里邮箱华南400服务0662020中心"(汇华科技).根据部署模式,云计算可分为公有 ...

  6. 阿里云企业邮箱哪个代理商好

    阿里云企业邮箱哪个代理商好,阿里云企业邮箱开通,阿里企业邮箱怎么注册,阿里云邮箱企业版试用询"阿里邮箱华南400服务066中心2020"(汇华科技),2015年5月,钉钉正式推出了 ...

  7. 手把手阿里云企业邮箱设置教程三步搞定

    阿里云企业邮箱购买后如何使用?很简单,先在企业邮箱使用域名处添加邮箱所需的MX.CNAME解析,然后设置密码,最后分配员工账号,即可完成阿里云企业邮箱的开通流程,阿小云来详细说下阿里云企业邮箱开通指南 ...

  8. 阿里云企业邮箱怎么开通?

    阿里云企业邮箱怎么开通,步骤: 1.添加解析   2.设置密码   3.分配员工账号 域名解析生效后,通过"mail.您的域名"地址进入邮箱登录界面,输入正确用户名和密码登录邮箱. ...

  9. springboot整合阿里云短信验证(无需签名和模板,通过阿里云api测试实现短信验证)

    一.开通阿里云短信服务 开通步骤如下图所示 开通完成后,进入阿里云短信验证首页,点击国内消息 一般来说,在短信验证时需要签名管理和模板管理,但是签名管理需要备案或者上线服务,所以对于没有备案和上线应用 ...

  10. PC项目——vue 脚手架中实现阿里云人机滑动验证

    转自๑柯帆๑ 找半天才找到这个可用的 vue 脚手架中实现阿里云人机滑动验证 一.报错问题解决 描述:照官网写的引入方式引入vue报错 AWSC is not define 解决:.html文件引入s ...

最新文章

  1. SAP MM 外部采购流程里的如同鸡肋一样的Advanced Returns Management功能
  2. Blackey win10 + python3.6 + VSCode + tensorflow-gpu + keras + cuda8 + cuDN6N环境配置(转载)
  3. 科学家名言录[人生]
  4. 对于写bash脚本的朋友,read命令是不可或缺的,需要实践一下就可以了解read命令的大致用途: 编写一个脚本: #!/bin/bash # hao32 test read echo -e Pl
  5. 文章中文字乱码问题解决办法集合
  6. NetBeans可用性提示
  7. mysql通过集合查询_MySQL使用集合函数进行查询操作实例详解
  8. [elixir! #0016] 在 phoenix 项目里配置 elm
  9. 文字的多列布局--column
  10. Viso各版本网盘免费下载
  11. FL Studio20.9进阶版 果味版 高级版 完整版区别
  12. 从零到卓越:京东客服即时通讯系统的技术架构演进历程(转)
  13. 阿里云服务器配置redis5
  14. 元宇宙产业化还很遥远
  15. 最大团问题【回溯法】
  16. 生产力工具评测:云笔记、离线笔记、云 Office、Markdown 编辑器
  17. 六招帮你解决平面设计排版
  18. 电流测试c语言算法,电流检测电路设计方案汇总(六款模拟电路设计原理图详解)...
  19. 查询出部门名称、部门的员工数、部门的平均工资、部门的最低收入雇员姓名和最高收入雇员的姓名...
  20. 干货!容忍数据缺失的临床超声报告知识图谱乳腺癌诊断

热门文章

  1. 芝加哥打字机_芝加哥打字机不是打字机
  2. Python标记函数或类为废弃(deprecated)并在Pychram或Idea中检测提示删除线
  3. 安卓6.0系统一键激活XPOSED框架的方法
  4. 安卓手机格式化后怎么恢复
  5. 安卓手机怎么格式化_windows10系统与安卓手机怎么共享文件
  6. 网秦安全盾 原理分析
  7. Codeforces 1023G:Pisces(最长反链)
  8. 客服客户聊天系统源码分享
  9. opencv实现阈值分割算法和分水岭算法
  10. 推荐10个易上手好用的H5网页编辑工具