Java调用网易163邮箱,发送邮件

Java调用163邮箱发送邮件,大概分为两部分:
1.创建邮件信息,包括标题,内容等
2.创建邮件邮件链接,发送邮件

一、创建邮件链接
1.首先要有163邮箱的账号。
2. 在邮箱设置中查找smtp服务器地址,需要开启smtp服务。这个是固定的,不需要修改。
网易163邮箱的 SMTP 服务器地址为: smtp.163.com

3.发送邮件,建议使用授权码(有的邮箱叫 独立密码),确保邮箱密码的安全性。授权码在邮箱设置中进行设置。如果开启了授权码,发送邮件的时候,必须使用授权码。

这里设置开启smtp服务和授权码。我这里已经是设置好的。


POM文件依赖:

     <!--邮箱依赖--><dependency><groupId>javax.mail</groupId><artifactId>mail</artifactId><version>1.5.0-b01</version></dependency>

代码如下:

@Component
public class EmailNotofication {// 发件人的 邮箱 和 密码/授权码// PS: 某些邮箱服务器为了增加邮箱本身密码的安全性,给 SMTP 客户端设置了独立密码(有的邮箱称为“授权码”)// 对于开启了独立密码的邮箱, 这里的邮箱密码必需使用这个独立密码(授权码)。private static String myEmailAccount = "发件人邮箱账号";private static String myEmailPassword = "授权码";// 发件人邮箱的 SMTP 服务器地址, 可在邮箱设置中查找,需要开启smtp服务// 网易163邮箱的 SMTP 服务器地址为: smtp.163.comprivate static String smtp = "smtp.163.com";// 收件人邮箱private static String receiveMailAccount = "收件人邮箱账号";/*** 发送邮件** @param emailContent*/public void senEmail(String emailContent) {try {// 1. 创建参数配置, 用于连接邮件服务器的参数配置Properties props = new Properties();// 使用的协议(JavaMail规范要求)props.setProperty("mail.transport.protocol", "smtp");// 发件人的邮箱的 SMTP 服务器地址props.setProperty("mail.smtp.host", smtp);// 需要请求认证props.setProperty("mail.smtp.auth", "true");// 2. 根据配置创建会话对象, 用于和邮件服务器交互Session session = Session.getInstance(props);// 设置为debug模式, 可以查看详细的发送 logsession.setDebug(true);// 3. 创建一封邮件    session、发件人、收件人、邮件内容MimeMessage message = createMimeMessage(session, myEmailAccount, receiveMailAccount, emailContent);// 4. 根据 Session 获取邮件传输对象Transport transport = session.getTransport();// 5. 使用 邮箱账号 和 密码/授权码 连接邮件服务器, 这里认证的邮箱必须与 message 中的发件人邮箱一致, 否则报错transport.connect(myEmailAccount, myEmailPassword);// 6. 发送邮件, 发到所有的收件地址, message.getAllRecipients() 获取到的是在创建邮件对象时添加的所有收件人, 抄送人, 密送人transport.sendMessage(message, message.getAllRecipients());// 7. 关闭连接transport.close();} catch (Exception e) {log.info("发送邮件失败:{}", e.getMessage());}}

二、创建一封简单的邮件。

ps:需要设置发件人、收件人、编码格式、邮件主题和内容。

代码如下:

   /*** 创建邮件** @param session* @param myEmailAccount* @param receiveMailAccount* @param message* @return*/private MimeMessage createMimeMessage(Session session, String myEmailAccount, String receiveMailAccount, String message) {try {// 1. 创建一封邮件MimeMessage mimeMessage = new MimeMessage(session);// 2. From: 发件人   emailUserName、昵称、编码格式mimeMessage.setFrom(new InternetAddress(myEmailAccount, "发件人名称", "UTF-8"));// 3. To: 收件人(可以增加多个收件人)mimeMessage.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(receiveMailAccount, "收件人名称", "UTF-8"));//多个收件人/**String[] split = receiveMailAccount.split(",");for(int i = 0; i < split.length; i++){mimeMessage.addRecipient(MimeMessage.RecipientType.TO, new InternetAddress(split[i]));}*/// 4. Subject: 邮件主题mimeMessage.setSubject("邮件主题", "UTF-8");// 5. Content: 邮件正文(可以使用html标签)mimeMessage.setContent(message, "text/html;charset=UTF-8");// 6. 设置发件时间mimeMessage.setSentDate(new Date());// 7. 保存设置mimeMessage.saveChanges();return mimeMessage;} catch (Exception e) {log.info("创建邮件失败:{}",e.getMessage());}return null;}
}

如果遇到退信问题,错误:554 DT:SPM ,此错误为判定你的邮件为垃圾邮件。提交申请等待一会即可(xxxx为你的邮箱):
https://feedback.mail.126.com/antispam/complain.php?user=xxxx

Java调用网易163邮箱,发送邮件相关推荐

  1. java 代码实现163邮箱发送邮件到QQ邮箱

    1.创建一个用户类,来接收发送邮件的邮箱地址和授权密码(需要注意的是,这里的密码不是正常使用邮箱的登陆密码,而是客户端生成的另一个专门的授权码   ,这里需要开启相应的发送邮件的服务,这里开启的是po ...

  2. Java发送邮件(网易163邮箱)(简单易操作篇)

    文章目录 一.前言 二.事先准备步骤 三.Java具体代码实现 1. 类有哪几个? 2.jar包配置 3.关键代码功能简介 4.具体代码 4.1 MailConst.java 负责存放一些配置 4.2 ...

  3. java模拟网易邮箱登录_java实现163邮箱发送邮件到qq邮箱成功案例

    下载和上传附件.发送短信和发送邮件,都算是程序中很常用的功能,之前记录了文件的上传和下载还有发送短信,由于最近比较忙,邮件发送的功能就没有时间去弄,现在终于成功以163邮箱发送邮件到qq邮箱,以下是相 ...

  4. 163邮箱java通用下载_java_java实现163邮箱发送邮件到qq邮箱成功案例,下载和上传附件、发送短信和 - phpStudy...

    java实现163邮箱发送邮件到qq邮箱成功案例 下载和上传附件.发送短信和发送邮件,都算是程序中很常用的功能,之前记录了文件的上传和下载还有发送短信,由于最近比较忙,邮件发送的功能就没有时间去弄,现 ...

  5. Java使用QQ邮箱或网易163邮箱发送自定义CSS样式邮件

    Java使用QQ邮箱或网易163邮箱发送自定义CSS样式邮件 前言 一.战前准备 1.导入依赖 2.配置文件 3.邮箱工具类 二.战争开始 1.QQ邮箱发送 2.网易邮箱发送 战后反思 前言 我们可能 ...

  6. java 给qq邮箱发邮件_java实现163邮箱发送邮件到qq邮箱成功案例

    这篇文章主要为大家分享了java实现163邮箱发送邮件到qq邮箱成功案例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 下载和上传附件.发送短信和发送邮件,都算是程序中 ...

  7. java 代码发送邮件添加附件_Java实现163邮箱发送邮件到QQ邮箱

    先创建一个maven的普通项目 添加依赖,附在文档末尾 其中几个注意的地方 主方法入口 有一个包下载不下来,手动导入下 准备一个配置文件和主方法类 针对配置文件编写一个类用来接收配置文件中的配置信息 ...

  8. java 163邮箱发邮件_Java实现163邮箱发送邮件到QQ邮箱

    先创建一个maven的普通项目 添加依赖,附在文档末尾 其中几个注意的地方 主方法入口 有一个包下载不下来,手动导入下 准备一个配置文件和主方法类 针对配置文件编写一个类用来接收配置文件中的配置信息 ...

  9. python 发送邮件 163_python练习-使用163邮箱发送邮件

    具体代码如下> #密码等敏感信息已经用****替换 import smtplib,sys from email.mime.text import MIMEText from email.head ...

  10. Hutool - 结合163邮箱发送邮件

    使用Hutool结合163邮箱发送邮件 进入163设置邮箱POP3/SMTP/IMAP 引入Hutool依赖 地址:https://www.hutool.cn/docs/#/extra/%E9%82% ...

最新文章

  1. python实现网络监控_使用python进行服务器监控
  2. python 获取类名
  3. matlab中给图像加几个矩形框_在图像中画矩形框(matlab)
  4. html5一年四季的变化,家乡四季的变化作文(精选5篇)
  5. Web渗透实验:基于Weblogic的一系列漏洞
  6. js用按钮变图片怎么再点一次换回去_看我如何用漏洞组合拳给小萝莉刷票
  7. 【英语学习】【科学】【Glencoe Science】【C】Animal Diversity 目录及术语表
  8. .NET 技术社区之我见(中文篇)
  9. MacOS下安装Grafana、InfluxData、telegraf
  10. CMKY与RGB的转换
  11. Ubuntu16.04安装Hadoop2.7.3教程
  12. quartz定时任务properties
  13. js设计模式之策略模式
  14. axure 侧滑抽屉式菜单_Axure教程:原型设计之侧滑菜单
  15. mysql的delete语句使用exists删除数据走不通
  16. 实景化数字城市共享信息平台
  17. manjaro开启热点设置密码WPA/WPA2后iphone连不上
  18. nginx 访问a 域名跳转到b域名_微信qq域名防红防封,怎么才能避免自己的域名被屏蔽...
  19. DialogFragment dismiss闪退异常DialogFragment何时持有FragmentManager
  20. STM32串口蓝牙实验--蓝牙控制小灯

热门文章

  1. 手绘线条一直画不直_板绘线条不流畅怎么办?线稿就得这样练!
  2. 软件测试面试题:Jmeter怎么录制脚本,怎么过滤,线程组有哪些内容?
  3. 运筹学_化标准型_week2
  4. matlab2020面板介绍
  5. linux shell 数字雨,cmd命令如何实现数字雨
  6. 博客园 添加 Live 2D 模型
  7. 北京小微企业个税社保申报方式
  8. 电影数据集TMDB数据分析练习
  9. VsCode中文输出为乱码的原因及解决方法
  10. SVN不同分支代码合并