今天有个任务,就是使用Java实现163网易邮箱的发送,说实话,一开始我也不是很清楚,紧接着我就去找资料,后来才发现,那些资料的好老,还需要手动复制jar包到咱们的项目,有些博客还不告诉你有jar包,代码一复制进去,欸~报错了哈哈哈,就是使用Session去获取实例,当然我有很多依赖都有Session这个对象,可是每个有Session对象的类都试了遍,都没有获取实例的那个方法,现在终于实现了 !,其实很简单 真的真的超级简单!!!,但是因为很难找到资料,就折磨了我3个小时 (此时捂脸笑30秒),这次能完成这个案例,还是我看了10多份博客,东拼西凑出来的,所以为了大家不出现我这种情况我写下了此篇博客。

哦对了在我们开始之前还需要在我们 设置---->常规设置------>POP/SMTP/IMAP中打开两项服务窝

废话不多说,直接上操作吧 废话这么就了哈哈哈:

第一步引入咱们的一个依赖:

        <dependency><groupId>javax.mail</groupId><artifactId>javax.mail-api</artifactId></dependency><dependency><groupId>com.sun.mail</groupId><artifactId>jakarta.mail</artifactId></dependency>

对了,版本,因为项目架构是聚合工程,所以版本放在了父工程,用来做一个版本的控制

为了方便也可以直接在artifactId标签下再加上一个version标签 中间写上咱们依赖的版本号,写上咱们依赖的版本,我这样做只是为了后期更好的维护。

第二步 写一个发送邮件的工具类:


/*** 发送163邮件* @author shenwang*/
public class MailUtils {/*** 日志记录*/private static Logger logger = LoggerFactory.getLogger(MailUtils.class);/*** 发件人邮箱*/private static final String HOST="xxxxxxxxx@163.com";/*** 邮箱密码或授权码*/private static final String PASSWORD="ADFEDKSNDJDND";/*** 发送邮件* @param direction 邮件人邮箱地址* @param subject 邮件名称/标题* @param message 消息、内容*/public static boolean sendMail(String direction,String subject,String message){Properties props = new Properties();// 开启debug调试props.setProperty("mail.debug", "true");// 发送服务器需要身份验证props.setProperty("mail.smtp.auth", "true");// 设置邮件服务器主机名props.setProperty("mail.host", "smtp.163.com");// 发送邮件协议名称props.setProperty("mail.transport.protocol", "smtp");Session session = Session.getInstance(props);Transport transport= null;//新建消息Message msg = new MimeMessage(session);try {//设置邮件标题msg.setSubject(subject);//设置消息内容msg.setText(message);msg.setFrom(new InternetAddress(HOST));transport = session.getTransport();transport.connect("smtp.163.com", HOST, PASSWORD);transport.sendMessage(msg, new Address[] { new InternetAddress(direction) });} catch (MessagingException e) {e.printStackTrace();return false;}finally {try {//关闭、释放资源transport.close();} catch (MessagingException e) {e.printStackTrace();}}return true;}}

用咱们的junit写一个Test测试一下:


/*** 发送邮件测试类*/
@RunWith(SpringRunner.class)
@SpringBootTest(classes = Application.class)
public class MailTest {/*** 发送消息*/@Testpublic void sendMail() {boolean flag = MailUtils.sendMail("xxxxxxxx@163.com", "一封有味道的邮件", "雷猴啊,我是旺仔");if (flag){System.out.println("发送成功");}else{System.out.println("发送失败");}}
}

over,直接启动,咱们来看一下结果吧!!!。

这样我们就成功发送了一条消息啦~

Java实现163网易邮箱消息发送相关推荐

  1. 终于解决!——iPhone自带的邮件应用如何绑定163网易邮箱?

    首先,这种问题163网易邮箱自己的帮助中心肯定有涉及,但实际上它写的并不全:http://help.mail.163.com/faqDetail.do?code=d7a5dc8471cd0c0e8b4 ...

  2. 伪造邮件***,看我如何给网易邮箱APP发送垃圾邮件【二】

    Duang~~~好久没更新博客了,源于最近比较忙,感谢博友对我的支持哈~今天继续更新 后面以我在补天漏洞平台提交过的漏洞为入口. 网易邮箱国内用户很多.今天看见他家的app了 ,99.95%垃圾邮件捕 ...

  3. 关于126、163 网易邮箱发送邮件示例

    由网易邮箱功能升级,所以发送邮件的案例需要做如下变更才可以发送成功. 1. 申请网易 126 或163邮箱. 2. 开启 pop3 和 smtp服务,关闭授权(最新变更) 3. 编写代码 import ...

  4. c#:使用网易邮箱账号发送电子邮件

    环境: window10 vs2019 16.5.5 .netcore 3.1 .netframework 4.5 控制台程序 一.准备网易邮箱账号 1.1 注册账户 1.2 开启smtp服务 二.编 ...

  5. Java简单的本地邮箱服务器发送(javax.mail)

    推荐使用标题5 1.安装使用易游服务器以及Foxmail 易游服务器傻瓜式安装 Foxmail 向导部分请断网 2.简单的入门案例 1.创建mevan项目 2.引入坐标 <!-- Javamai ...

  6. C#使用 MailKit获取邮件中的附件(QQ邮箱/163网易邮箱)

    背景介绍:VS2017 | .net core | C# |  .netframwork 4.0 --------------------------------------------------- ...

  7. 阿里云主机服务配置163网易邮箱

    注意:阿里云默认情况下挡掉了25端口出口,所以我们配置邮件服务器的时候只能选择465,SECURE_SMTP方式 一.163邮箱配置 1.查看smtp邮件服务器地址 2.配置客户端授权码 二.JIRA ...

  8. 如何在Windows自带的邮件中关联自己的163网易邮箱

    第一步,找到windows开始菜单,找到邮件 第二步,点击设置-->管理账户-->添加账户 第三步,选择其他账户(POP,IMAP) 第四步,填写要关联的163邮箱和名称,密码是客户端关联 ...

  9. mac下airmail配置163网易邮箱

    airmail作为第三方邮件客户端不直接提供对163邮箱的绑定支持,需要自己设置,绑定如下: 登录自己的163邮箱,并打开imap和pop3服务 中间需要设置授权码,自己设置的授权码用于在后面airm ...

最新文章

  1. Office 2010的贴心功能:迷你翻译器
  2. 【php】php编译pcntl以支持多进程
  3. 学python的好处-python语言的优点和缺点
  4. Leetcode题库 798.得分最高的最小轮调(差分数组 C实现)
  5. Hadoop入门(二十二)Mapreduce的求平均值程序
  6. Python 调试方法
  7. json解析对应的value为null_解决golang json解析出现值为空的问题
  8. Windows 下使用 MinGW 和 CMake 进行开发
  9. 全网最好用的VS Code插件推荐
  10. GWR4软件怎么用+结果解读+结果在ArcGIS中可视化
  11. DBA 常用的软件工具有哪些(分享篇)?
  12. 系统测试:功能测试、健壮性测试、恢复测试、安全测试、压力测试
  13. vant-list上拉加载onload事件触发多次
  14. 社会网络分析法SNA
  15. android 实现按键精灵
  16. Uncaught TypeError: date.getDay is not a function at getDate
  17. CH340 各型号的区别
  18. 原生爬虫爬取虎牙绝地求生直播热度排行榜
  19. 提升R语言运行效率-转换为字节码编译
  20. VIVADO调用MIG产生DDR3时实例化遇到的问题以及解决方法

热门文章

  1. 以终为始,向死而生——5月份英语总结
  2. .net Core WebApi记录
  3. 清风数学建模学习之TOPSIS法
  4. 微信开发(三)微信模板消息接口设计
  5. 扫地机器人的特点描写_扫地机器人的特点是什么 扫地机器人的原理
  6. 数据分析 --- 如何分析数据
  7. SDUST 实验+ 作业
  8. 玩转Linux之dd命令操作详解
  9. win10 VS2017编译Audacity详细教程
  10. 使用cordova将Ext JS 6.2的Modern应用程序打包为安卓APP