java邮箱发送
一、为何要使用邮箱发送
相信大家在日常工作生活中少不了和邮件打交道,比如我们会用邮件进行信息交流,向上级汇报日常工作;邮件发送的原理是什么?邮件是如何发送的呢?本系列教程将会讲解邮件如何申请可用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
java邮箱发送的更多相关文章
- Java邮箱发送——企业版
企业版邮箱发送工具类 import java.security.Security; import java.util.Properties; import javax.mail.Authenticat ...
- java邮件发送 qq与163邮箱互发和qq和163邮箱发送其他邮箱实例
研究了近一天的时间,通过查阅相关资料,终于对java发送邮件的机制,原理有了一点点的理解,希望能够帮到大家! 1.首先要向你的项目里导入1个jar包:mail-1.4.4.jar即可(实现qq和163 ...
- JAVA 实现 QQ 邮箱发送验证码功能(不局限于框架)
JAVA 实现 QQ 邮箱发送验证码功能(不局限于框架) 本来想实现 QQ 登录,有域名一直没用过,还得备案,好麻烦,只能过几天再更新啦. 先把实现的发送邮箱验证码更能更新了. 老规矩,更多内容在注释 ...
- java实现邮箱发送信息--验证码的发送(163邮箱)
1.maven环境 <!-- 发送邮件 --> <dependency> <groupId>javax.mail</groupId> <artif ...
- JAVA邮件发送的简单实现
JAVA MAIL是利用现有的邮件账户发送邮件的工具,比如说,我在网易注册一个邮箱账户,通过JAVA Mail的操控,我可以不亲自登录网易邮箱,让程序自动的使用网易邮箱发送邮件.这一机制被广泛的用在注 ...
- 解决java mail发送TXT附件被直接显示在正文中的问题
这两天遇到一个问题,关于使用java mail发送邮件的问题. 详细是这样子的:我使用java mail发送异常报告邮件,邮件中有一个包含异常日志的附件,和关于设备信息的邮件正文.假设日志为log后缀 ...
- spring 实现邮箱发送
使用spring mail 实现的邮箱发送功能,包括附件的发送(附件发送要保证附件存在的路径是真实),使用maven集成jar包,通过spring mvc 实现前后台的调用,发送方使用的是163邮箱, ...
- EBS中使用JAVA方式发送HTML格式邮件
转自huan.gu专栏:http://blog.csdn.net/gh320/article/details/17174769 EBS中使用JAVA方式发送HTML格式邮件 一.开发工具:JDevel ...
- 基于JavaMail的Java邮件发送:复杂邮件发送
参考:http://blog.csdn.net/xietansheng/article/details/51722660package com.bfd.ftp.utils;import java.ut ...
随机推荐
- ArcGIS JS 3.x使用webgl绘制热力图
ArcGIS Js Api 3.x 热力图在数据量达到三万左右的时候,绘制速度不尽人意,数据量再大些,缩放时候就会很卡,非常影响客户体验. 参考了一下网上webgl热力图,能达到更流畅 ...
- idea解决Maven jar依赖冲突(四)
首先点击右侧的MavenProjects打开以下界面: 这个界面是maven的命令界面: 点击这个图标会进入如下界面: 左上角可以缩放,点击线可以取消冲突依赖,红色线为冲突依赖. 上图为无依赖冲突的s ...
- oracle创建表空间自增长和创建用户
/* 步骤: 1.创建表空间 2.创建用户 3.用户授权 */ /*创建表空间*/ create tablespace QCJ_TABLESPACE /*表空间物理文件名称*/ datafile 'Q ...
- 有关Windows10中诊断和反馈隐私设置
当你使用 Windows 时,我们将收集诊断信息,为了确保能收到你(我们的客户)的反馈,我们为你提供了多种方式,以便你可以随时发送反馈,也可以在某个特定的时间(例如当 Windows 10 向你提出关 ...
- Unity User Group深圳站——Timeline & Cinemachine分享
报名说明:UUG深圳站,2月分享活动正式启动,1月29日中午12:00前报名可获赠Unity精美纪念礼物一份~ 关于Unity Unity 是一款多平台的综合型游戏开发工具,它的出现对蓬勃发展的全球游 ...
- 从壹开始前后端分离【 .NET Core2.0 +Vue2.0 】框架之八 || API项目整体搭建 6.3 异步泛型仓储+依赖注入初探
代码已上传Github+Gitee,文末有地址 番外:在上文中,也是遇到了大家见仁见智的评论和反对,嗯~说实话,积极性稍微受到了一丢丢的打击,不过还好,还是有很多很多很多人的赞同的,所以会一直坚持下去 ...
- 《深入理解Java虚拟机》-----第6章 类文件结构——Java高级开发必须懂的
代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,却是编程语言发展的一大步. 6.1 概述 记得在第一节计算机程序课上我的老师就讲过:“计算机只认识0和1,所以我们写的程序需要经编译器翻 ...
- React的入门知识与概念【1】
回顾在以往的项目开发中,从最初的使用的原生html+js+css+jquery开发,到后来随着项目功能的增加,也渐渐学习了Vue.js框架的开发,以及Vue.js的全家桶Axios,Vue-route ...
- 前端笔记之JavaScript面向对象(一)Object&函数上下文&构造函数&原型链
一.对象(Object) 1.1 认识对象 对象在JS中狭义对象.广义对象两种. 广义:相当于宏观概念,是狭义内容的升华,高度的提升,范围的拓展.狭义:相当于微观概念,什么是“狭”?因为内容狭隘具体, ...
- merge和rebase的区别
前言 我从用git就一直用rebase,但是新的公司需要用merge命令,我不是很明白,所以查了一些资料,总结了下面的内容,如果有什么不妥的地方,还望指正,我一定虚心学习. merge和rebase ...