发布于 

使用SimpleEmail发送邮件

记录如何使用java代码中发送邮件。

  1. 引入commons.mail包:

    1
    2
    3
    4
    5
    <dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-email</artifactId>
    <version>1.3.3</version>
    </dependency>
  2. 直接看代码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    public static void sendReplyEmail(String toEmail, String title, String content) {

    Runnable task = () -> {
    SimpleEmail email = new SimpleEmail();
    // email.setTLS(true); //是否TLS校验,,某些邮箱需要TLS安全校验,同理有SSL校验
    email.setDebug(true);
    email.setSSL(true);
    email.setHostName("smtp.qq.com");
    email.setSmtpPort(465); //qq邮箱smtp端口为465或587
    email.setAuthenticator(new DefaultAuthenticator("250********@qq.com", "这里是密码"));
    try {
    email.setFrom("250********@qq.com"); //发送方,这里可以写多个
    email.addTo(toEmail); // 接收方
    //email.addCc("402******@qq.com"); // 抄送方
    //email.addBcc("yuaio@163.com"); // 秘密抄送方
    email.setCharset("GB2312");
    email.setSubject(title); // 标题
    email.setMsg(content);// 内容
    email.send();

    LOGGER.info("...");
    } catch (EmailException e) {
    e.printStackTrace();
    LOGGER.info("...");
    }
    };
    new Thread(task).start();
    }
  3. 其他:

    想使用第三方客户端(比如这里的代码)登陆QQ邮箱,使用smtp服务发送邮件,则需要使用QQ邮箱提供的授权码。具体信息请点这里