java邮箱发送
2024-09-15 00:38:54
一、为何要使用邮箱发送
相信大家在日常工作生活中少不了和邮件打交道,比如我们会用邮件进行信息交流,向上级汇报日常工作;邮件发送的原理是什么?邮件是如何发送的呢?本系列教程将会讲解邮件如何申请可用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
最新文章
- a primary example for Functional programming in javascript
- 总结最近移动端遇到的坑(auto-size + zepto)
- iOS - UIColor
- PHP stdClass Object转array
- ActiveMQ之二--JMS消息类型
- hibernate4.0+版本和3.0+版本的区别总结
- 去除input在谷歌下的focus效果
- [ACM] HDU 1227 Fast Food (经典Dp)
- hdu 5524 二叉树找规律,二进制相关
- DIV+CSS特殊符号的处理方法
- java.lang.NoClassDefFoundError: org/apache/jsp/jsp/Container_jsp
- 初学Java Web(4)——Servlet学习总结
- gc笔记(转)
- Py之set操作【转载】
- c#设计模式3抽象工厂模式(Abstract Factory)
- MVC所有的ActionResult
- 图的基本算法(BFS和DFS)
- 基于jQuery点击圆形边框弹出图片信息
- 微软牛津计划——声纹识别与视频识别API上线啦!
- IIS 部署WCF时遇到这么个错:
热门文章
- 关于OSError: [WinError 10038] 在一个非套接字上尝试了一个操作。
- 数据库 【redis】 命令大全
- .net momeryStream 读取为空问题
- 【死磕 Spring】----- IOC 之 获取 Document 对象
- GROUP BY你都不会!ROLLUP,CUBE,GROUPPING详解
- Android Gradle 学习笔记(一):Gradle 入门
- ajax data属性传值的方式总结
- tcp/ip协议详解
- 从壹开始前后端分离【 .NET Core2.0 +Vue2.0 】框架之十三 || DTOs 对象映射使用,项目部署Windows+Linux完整版
- AI - TensorFlow - 可视化工具TensorBoard