[TOC]

一、前言

想必发送邮件在日常开发中是十分常见的需求吧,鉴于官方网站一些不友好的例子,自己简化了下邮件发送的工具类。

废话不多说,这次的分享是Java发送邮件,进行发送邮件的邮箱是网易163邮箱,其中分为群发和单发邮件两个功能。先说下有什么步骤吧。 (若想直接借鉴的可以跳转到具体代码那一块,有完整的代码)

二、事先准备步骤

  1. 未注册邮箱的先注册邮箱,网易163邮箱的注册地址:https://mail.163.com/register/index.htm?from=163mail
  2. 已经有网易邮箱的,输入网址:https://mail.163.com, 登录进入网易邮箱中,点击设置下拉框中的POP3/SMTP/IMAP。




java edu邮箱发送 java实现发送邮箱_java发邮件


  1. 开启IMAP和POP3服务,这样才能通过Java代码进行发送邮件。


java edu邮箱发送 java实现发送邮箱_java_02


3.1 开启服务需要发送短信到指定号码。


java edu邮箱发送 java实现发送邮箱_java edu邮箱发送_03


3.2 开通IMAP服务之后,会出现一个显示着授权密码的窗口,请立马保存这个授权密码(如果忘记了,可以重新关闭IMAP服务,再次开启获得新的授权密码)。


java edu邮箱发送 java实现发送邮箱_java edu邮箱发送_04


3.3 接着开通POP3服务,一样的套路。开通成功之后。


java edu邮箱发送 java实现发送邮箱_java发邮件_05


三、Java具体代码实现

1. 类有哪几个?

src文件夹下(哪个文件夹都可以)

-MailConst.java 负责存放一些配置

-MailSenderUtil.java 主要功能的实现

-TestMail.java 测试java邮箱是否生效

2.jar包配置

2.1 pom项目下,在dependencies节点下增加两个子节点,内容如下(发送邮件的jar包)


<!-- javaMail -->


2.2 若为普通Javaee项目,则引入以上两个jar包。

3.关键代码功能简介

(MailSenderUtil.java)


java edu邮箱发送 java实现发送邮箱_发送邮件_06


sendMailToSingle()方法 是选择单发邮件的

sendMailToUserArray() 方法是选择群发邮件的


4.具体代码

4.1 MailConst.java 负责存放一些配置


package


4.2 MailSenderUtil.java 主要功能的实现


package


4.3 TestMail.java 测试java邮箱是否生效


package


四、感悟

  1. 学东西还是得实践比较有效率。
  2. 邮箱要是没有抄送人的话,多次尝试可能会被网易列为垃圾邮件,所以我这里弄了个抄送人,并将其设置为我发送邮件的邮箱。