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:UsersAdministratorDesktopcsdn.txt");

}

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

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

原文地址:https://www.cnblogs.com/gz007/p/10243409.html