一、为何要使用邮箱发送

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

二、开启POP3/SMTP服务

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

java发送简单邮件 java如何实现发送邮件_java发送简单邮件

 

 2、点击账户

java发送简单邮件 java如何实现发送邮件_java发送简单邮件_02

 

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

java发送简单邮件 java如何实现发送邮件_发送邮件_03

 

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

三、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

java发送简单邮件 java如何实现发送邮件_java_04

 

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

 

java发送简单邮件 java如何实现发送邮件_发送邮件_05

 

sendMail

 

java发送简单邮件 java如何实现发送邮件_java_06

 

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

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发送简单邮件 java如何实现发送邮件_java发送简单邮件_07

本章知识就分享到这里了。