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