热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

JavaEmail邮箱

packageservice;importcom.sun.mail.util.MailSSLSocketFactory;importjavax.mail.Message;impor

package service;

import com.sun.mail.util.MailSSLSocketFactory;
import javax.mail.Message;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

import java.util.Properties;
public class EmailBox {

//根据需要输入参数,我这里用到两个
public String mail(String a , String b) {

// JDK9以上或JDK6以下使用mail.jar包不加JAF的activation.jar包会抛出该错误!JDK6以上不需要加该jar包;
String email = a;
String num = b;
//随机数拼成验证码
// for (int i &#61; 0; i <6; i&#43;&#43;) {
// int n &#61; (int) (Math.random() * 10);
// num &#61; num &#43; Integer.toString(n);
// }
Properties prop &#61; new Properties();
开启debug调试&#xff0c;以便在控制台查看
// prop.setProperty("mail.debug", "true");
// 设置邮件服务器主机名&#xff0c;这里用QQ邮箱
prop.setProperty("mail.host", "smtp.qq.com");
// 发送服务器需要身份验证
prop.setProperty("mail.smtp.auth", "true");
// 发送邮件协议名称
prop.setProperty("mail.transport.protocol", "smtp");

try {
// 开启SSL加密&#xff0c;否则会失败
MailSSLSocketFactory sf &#61; new MailSSLSocketFactory();
sf.setTrustAllHosts(true);
prop.put("mail.smtp.ssl.enable", "true");
prop.put("mail.smtp.ssl.socketFactory", sf);
// 创建session
Session session &#61; Session.getInstance(prop);
// 通过session得到transport对象
Transport ts &#61; session.getTransport();
// 连接邮件服务器&#xff1a;邮箱类型&#xff0c;帐号&#xff0c;授权码代替密码&#xff08;更安全&#xff09;
ts.connect("smtp.qq.com", "这里填写QQ帐号", "这里填写QQ安全登陆码");//后面的字符是授权码&#xff0c;用qq密码反正我是失败了&#xff08;用自己的&#xff0c;别用我的&#xff0c;这个号是我瞎编的&#xff0c;为了。。。。&#xff09;
// 创建邮件
MimeMessage message &#61; createSimpleMail(session, email, num);
// 发送邮件
ts.sendMessage(message, message.getAllRecipients());
ts.close();
return "发送成功&#xff01;";
} catch (Exception e) {
e.printStackTrace();
return "发送失败&#xff01;";
}
}

public static MimeMessage createSimpleMail(Session session, String email, String num)
throws Exception {
// 创建邮件对象
MimeMessage message &#61; new MimeMessage(session);
// 指明邮件的发件人
message.setFrom(new InternetAddress("这里填写我的QQ邮箱&#xff0c;例如xxxxxxxxx&#64;qq.com"));
// 指明邮件的收件人&#xff0c;现在发件人和收件人是一样的&#xff0c;那就是自己给自己发
message.setRecipient(Message.RecipientType.TO, new InternetAddress("这里填写你要发送的邮箱&#xff0c;如xxxxxxx&#64;qq.com"));
// 邮件的标题
message.setSubject("这里填写要发送的邮件标题");
// 邮件的文本内容
message.setContent("这里填写要发送的邮件内容" , "text/html;charset&#61;UTF-8");
// 返回创建好的邮件对象
return message;
}
}

转:https://www.cnblogs.com/c2g5201314/p/10502126.html



推荐阅读
  • java编写一个为网站生成验证码的程序_Java后端产生验证码后台验证功能的实现代码...
    直接跳severlet在java后台生成验证码:RequestMapping(valueyzm.action)publicvoidYzm(HttpSessions ... [详细]
  • Java实现验证码的制作
    验证码概述为什么使用验证码?验证码(CAPTCHA)是一种全自动程序。主要是为了区分“进行操作的是不是人”。如果没有验证码机制,将会导致以下的问题:对特定网站不断进行登录,破解密码 ... [详细]
  • 参考网上搜到的结果,但仍有问题,调试后完整步骤如下配置163邮箱SMTP,需要配置授权码(作为密码使用)&#x ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 本文讨论了在Spring 3.1中,数据源未能自动连接到@Configuration类的错误原因,并提供了解决方法。作者发现了错误的原因,并在代码中手动定义了PersistenceAnnotationBeanPostProcessor。作者删除了该定义后,问题得到解决。此外,作者还指出了默认的PersistenceAnnotationBeanPostProcessor的注册方式,并提供了自定义该bean定义的方法。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • 精讲代理设计模式
    代理设计模式为其他对象提供一种代理以控制对这个对象的访问。代理模式实现原理代理模式主要包含三个角色,即抽象主题角色(Subject)、委托类角色(被代理角色ÿ ... [详细]
  • 初识java关于JDK、JRE、JVM 了解一下 ... [详细]
  • 【技术分享】一个 ELF 蠕虫分析
    【技术分享】一个 ELF 蠕虫分析 ... [详细]
  • 1、概述首先和大家一起回顾一下Java消息服务,在我之前的博客《Java消息队列-JMS概述》中,我为大家分析了:然后在另一篇博客《Java消息队列-ActiveMq实战》中 ... [详细]
  • docker安装到基本使用
    记录docker概念,安装及入门日常使用Docker安装查看官方文档,在&quot;Debian上安装Docker&quot;,其他平台在&quot;这里查 ... [详细]
  • maven配置阿里云仓库的实现方法(2022年)_java
    本文主要介绍了maven配置阿里云仓库的实现方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的 ... [详细]
  • 微信公众号:内核小王子关注可了解更多关于数据库,JVM内核相关的知识;如果你有任何疑问也可以加我pigpdong[^1]jvm一行代码是怎么运行的首先,java代码会被编译成字 ... [详细]
  • Android跨进程通信IPC之9——Binder通信机制
    移步系列Android跨进程通信IPC系列1Android整体架构Android系统架构及系统源码目录Android系统架构 ... [详细]
author-avatar
孤独游侠1976_127
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有