一、为何要使用邮箱发送

  相信大家在日常工作生活中少不了和邮件打交道,比如我们会用邮件进行信息交流,向上级汇报日常工作;邮件发送的原理是什么?邮件是如何发送的呢?本系列教程将会讲解邮件如何申请可用java代码实现发送,本章以QQ邮箱为例详细的向大家分析学习如何使用。相信大家看完后,一定会有所收获。

二、开启POP3/SMTP服务

1、打开QQ邮箱,点击设置

2、点击账户

3、找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务,并开启

 这时你就会得到一个使用该服务的一个专属密码,注意保存,记住,后期使用需要用到

三、java实现

1、使用的你的开发工具创建一个测试项目,并导入所需要的依赖包:

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-websocket</artifactId>
</dependency>
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.6.2</version>
</dependency>
这是两个主要用到的依赖,还有一些项目所运行的依赖自行导入即可,
若不是maven项目的可以进入 http://mvnrepository.com 网页进行搜索下载,搜索依赖中的关键字即可,如:javax.mail,spring-websocke

2、使用你的java开发工具创建一个方法类,如我的是:SendMailAcceUtils

3、在工具类中写一个发送邮件的方法:sendMail

重要的在上述截图中有讲解,以下是整个方法:

public static boolean sendMail( String[] receives, String subject, String msg, String[] filenames) {
if (StringUtils.isEmpty(receives)) {
return false;
}
// 设置邮件服务器
JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
mailSender.setHost("smtp.qq.com");
mailSender.setUsername("1776980696@qq.com");
mailSender.setPassword("drpmocmkqsfvecij"); MimeMessage message = mailSender.createMimeMessage();
try {
MimeMessageHelper messageHelper = new MimeMessageHelper(message, true, "utf-8"); messageHelper.setSubject("utf-8"); messageHelper.setSubject(subject);
messageHelper.setTo(receives);
messageHelper.setFrom("1776980696@qq.com"); if (filenames != null) {
File file = null;
for (String files : filenames) {
file = new File(files.trim());
messageHelper.addAttachment(MimeUtility.encodeWord(file.getName()), file);
}
} messageHelper.setText(msg, true);
mailSender.send(message);
return true;
} catch (Exception e) {
e.printStackTrace();
} return false;
}

4、写一个main方法调用测试

记住一下参数个个是何作用调用方法的时候需要 一 一 对应

/**
* 发送带附件的邮件
*
* @param receives 收件人
* @param subject 邮件主题
* @param msg 邮件内容
* @param filenames 附件地址
* @return
* @throws GeneralSecurityException
*/
public static void main(String[] args) {   SendMailAcceUtils.sendMail("1776980696@qq.com","这是假的","这是一个假的邮件,请不要相信他","C:\Users\Administrator\Desktop\csdn.txt"); }

启动即可发送邮件给1776980696@qq.com:

本章知识就分享到这里了若想一些其他的问题,可以加我进行询问,java是开源的,学习起来也不是很难:1776980696

最新文章

  1. a primary example for Functional programming in javascript
  2. 总结最近移动端遇到的坑(auto-size + zepto)
  3. iOS - UIColor
  4. PHP stdClass Object转array
  5. ActiveMQ之二--JMS消息类型
  6. hibernate4.0+版本和3.0+版本的区别总结
  7. 去除input在谷歌下的focus效果
  8. [ACM] HDU 1227 Fast Food (经典Dp)
  9. hdu 5524 二叉树找规律,二进制相关
  10. DIV+CSS特殊符号的处理方法
  11. java.lang.NoClassDefFoundError: org/apache/jsp/jsp/Container_jsp
  12. 初学Java Web(4)——Servlet学习总结
  13. gc笔记(转)
  14. Py之set操作【转载】
  15. c#设计模式3抽象工厂模式(Abstract Factory)
  16. MVC所有的ActionResult
  17. 图的基本算法(BFS和DFS)
  18. 基于jQuery点击圆形边框弹出图片信息
  19. 微软牛津计划——声纹识别与视频识别API上线啦!
  20. IIS 部署WCF时遇到这么个错:

热门文章

  1. 关于OSError: [WinError 10038] 在一个非套接字上尝试了一个操作。
  2. 数据库 【redis】 命令大全
  3. .net momeryStream 读取为空问题
  4. 【死磕 Spring】----- IOC 之 获取 Document 对象
  5. GROUP BY你都不会!ROLLUP,CUBE,GROUPPING详解
  6. Android Gradle 学习笔记(一):Gradle 入门
  7. ajax data属性传值的方式总结
  8. tcp/ip协议详解
  9. 从壹开始前后端分离【 .NET Core2.0 +Vue2.0 】框架之十三 || DTOs 对象映射使用,项目部署Windows+Linux完整版
  10. AI - TensorFlow - 可视化工具TensorBoard