springboot定时发送html邮件

一、pom.xml添加邮件依赖

        <!--发邮件-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-mail</artifactId>
        </dependency>

二、application.yml配置如下

spring:
  mail:
    host: smtp.qq.com
    port: 25
    username: [email protected]
    password: xxxxxx
    default-encoding: UTF-8

 三、启动类注解

package czy.com.dldl;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;

@SpringBootApplication
@EnableScheduling
public class DldlApplication {

    public static void main(String[] args) {
        SpringApplication.run(DldlApplication.class, args);
    }

}

四、发送邮件代码如下

package czy.com.dldl.utils;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Component;

import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;

/**
 * @author Czy--feeling
 * @create 2019-03-13 4:12 PM
 **/
@Component
public class EmailService {
    @Autowired
    JavaMailSender javaMailSender;

    public void sendMail(String from, String to, String cc, String subject, String content) throws MessagingException {

        MimeMessage mimeMessage = javaMailSender.createMimeMessage();

        MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage, true);

        mimeMessageHelper.setFrom(from);

        mimeMessageHelper.setTo(to);
        if (!"".equals(cc) && cc != null) {
            mimeMessageHelper.setCc(cc);
        }
        mimeMessageHelper.setSubject(subject);
        
        mimeMessageHelper.setText(content, true);

        javaMailSender.send(mimeMessage);

    }

}

五、定时任务代码如下

package czy.com.dldl.task;


import czy.com.dldl.utils.EmailService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import javax.mail.MessagingException;

/**
 * @author Czy--feeling
 * @create 2019-03-13 4:12 PM
 **/
@Component
@Slf4j
public class Task {
    @Autowired
    private EmailService emailService;

    /**
     * 发件人
     */
    private String from;
    /**
     * 收件人
     */
    private String to;
    /**
     * 抄送人
     */
    private String cc;
    /**
     * 邮件主题
     */
    private String subject;
    /**
     * 邮件内容
     */
    private String content;

    @Scheduled(cron = "0/3 * * * * ? ")//每3秒定时执行
    public void execJob() throws MessagingException {
        log.info("------------定时任务开启同步消息通知------------");
        from = "[email protected]";
        to = "[email protected]";
        cc = "";
        subject = "测试";
        content =
                "<html>\n" +
                        "<head>\n" +
                        "<meta charset=\"utf-8\"/>\n" +
                        "<title>html模板</title>\n" +
                        "</head>\n" +
                        "<body>\n" +
                        "<table border=\"1\" bordercolor=\"#ff7b00\" cellspacing=\"0\" cellpadding=\"0\" width=\"600\" height100>\n" +
                        "<caption>历史战绩</caption>\n" +
                        "<tr align=\"center\">\n" +
                        "<th>账号</th>\n" +
                        "<th>英雄联盟</th>\n" +
                        "<th>穿越火线</th>\n" +
                        "<th>绝地求生</th>\n" +
                        "<th>刺激战场</th>\n" +
                        "<th>斗罗大陆</th>\n" +
                        "</tr>\n" +
                        "<tr>\n" +
                        "<td>君莫笑</td>\n" +
                        "<td>9994</td>\n" +
                        "<TD>9989</TD>\n" +
                        "<td>9987</td>\n" +
                        "<td>9956</td>\n" +
                        "<td>9997</td>\n" +
                        "</tr>\n" +
                        "<tr>\n" +
                        "<td>苏沐橙</td>\n" +
                        "<td>9994</td>\n" +
                        "<td>9987</td>\n" +
                        "<td>9984</td>\n" +
                        "<td>9986</td>\n" +
                        "<td>9987</td>\n" +
                        "</tr>\n" +
                        "<tr>\n" +
                        "<td>苏沐秋</td>\n" +
                        "<td>9982</td>\n" +
                        "<td>9984</td>\n" +
                        "<td>9987</td>\n" +
                        "<td>9986</td>\n" +
                        "<td>9977</td>\n" +
                        "</tr>\n" +
                        "</table>\n" +
                        "</body>\n" +
                        "</html>\n";

        emailService.sendMail(from, to, cc, subject, content);

        log.info("------------定时任务结束同步消息通知------------");
    }
}

六、idea启动springboot

/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/bin/java -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=53656 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=127.0.0.1 -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true -Dfile.encoding=UTF-8 -classpath /Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/jre/lib/deploy.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/jre/lib/ext/cldrdata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/jre/lib/ext/dnsns.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/jre/lib/ext/jaccess.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/jre/lib/ext/jfxrt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/jre/lib/ext/localedata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/jre/lib/ext/nashorn.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/jre/lib/ext/sunec.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/jre/lib/ext/sunjce_provider.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/jre/lib/ext/sunpkcs11.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/jre/lib/ext/zipfs.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/jre/lib/javaws.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/jre/lib/jfxswt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/jre/lib/management-agent.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/jre/lib/plugin.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/lib/ant-javafx.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/lib/dt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/lib/javafx-mx.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/lib/jconsole.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/lib/packager.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/lib/sa-jdi.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/lib/tools.jar:/Users/macbook/intellij-workspace/DLDL/target/classes:/Users/macbook/.m2/repository/org/springframework/boot/spring-boot-starter-web/2.1.3.RELEASE/spring-boot-starter-web-2.1.3.RELEASE.jar:/Users/macbook/.m2/repository/org/springframework/boot/spring-boot-starter/2.1.3.RELEASE/spring-boot-starter-2.1.3.RELEASE.jar:/Users/macbook/.m2/repository/org/springframework/boot/spring-boot/2.1.3.RELEASE/spring-boot-2.1.3.RELEASE.jar:/Users/macbook/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/2.1.3.RELEASE/spring-boot-autoconfigure-2.1.3.RELEASE.jar:/Users/macbook/.m2/repository/org/springframework/boot/spring-boot-starter-logging/2.1.3.RELEASE/spring-boot-starter-logging-2.1.3.RELEASE.jar:/Users/macbook/.m2/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar:/Users/macbook/.m2/repository/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.jar:/Users/macbook/.m2/repository/org/apache/logging/log4j/log4j-to-slf4j/2.11.2/log4j-to-slf4j-2.11.2.jar:/Users/macbook/.m2/repository/org/apache/logging/log4j/log4j-api/2.11.2/log4j-api-2.11.2.jar:/Users/macbook/.m2/repository/org/slf4j/jul-to-slf4j/1.7.25/jul-to-slf4j-1.7.25.jar:/Users/macbook/.m2/repository/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar:/Users/macbook/.m2/repository/org/yaml/snakeyaml/1.23/snakeyaml-1.23.jar:/Users/macbook/.m2/repository/org/springframework/boot/spring-boot-starter-json/2.1.3.RELEASE/spring-boot-starter-json-2.1.3.RELEASE.jar:/Users/macbook/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.9.8/jackson-databind-2.9.8.jar:/Users/macbook/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.9.0/jackson-annotations-2.9.0.jar:/Users/macbook/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.9.8/jackson-core-2.9.8.jar:/Users/macbook/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.9.8/jackson-datatype-jdk8-2.9.8.jar:/Users/macbook/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.9.8/jackson-datatype-jsr310-2.9.8.jar:/Users/macbook/.m2/repository/com/fasterxml/jackson/module/jackson-module-parameter-names/2.9.8/jackson-module-parameter-names-2.9.8.jar:/Users/macbook/.m2/repository/org/springframework/boot/spring-boot-starter-tomcat/2.1.3.RELEASE/spring-boot-starter-tomcat-2.1.3.RELEASE.jar:/Users/macbook/.m2/repository/org/apache/tomcat/embed/tomcat-embed-core/9.0.16/tomcat-embed-core-9.0.16.jar:/Users/macbook/.m2/repository/org/apache/tomcat/embed/tomcat-embed-el/9.0.16/tomcat-embed-el-9.0.16.jar:/Users/macbook/.m2/repository/org/apache/tomcat/embed/tomcat-embed-websocket/9.0.16/tomcat-embed-websocket-9.0.16.jar:/Users/macbook/.m2/repository/org/hibernate/validator/hibernate-validator/6.0.14.Final/hibernate-validator-6.0.14.Final.jar:/Users/macbook/.m2/repository/javax/validation/validation-api/2.0.1.Final/validation-api-2.0.1.Final.jar:/Users/macbook/.m2/repository/org/jboss/logging/jboss-logging/3.3.2.Final/jboss-logging-3.3.2.Final.jar:/Users/macbook/.m2/repository/com/fasterxml/classmate/1.4.0/classmate-1.4.0.jar:/Users/macbook/.m2/repository/org/springframework/spring-web/5.1.5.RELEASE/spring-web-5.1.5.RELEASE.jar:/Users/macbook/.m2/repository/org/springframework/spring-beans/5.1.5.RELEASE/spring-beans-5.1.5.RELEASE.jar:/Users/macbook/.m2/repository/org/springframework/spring-webmvc/5.1.5.RELEASE/spring-webmvc-5.1.5.RELEASE.jar:/Users/macbook/.m2/repository/org/springframework/spring-aop/5.1.5.RELEASE/spring-aop-5.1.5.RELEASE.jar:/Users/macbook/.m2/repository/org/springframework/spring-context/5.1.5.RELEASE/spring-context-5.1.5.RELEASE.jar:/Users/macbook/.m2/repository/org/springframework/spring-expression/5.1.5.RELEASE/spring-expression-5.1.5.RELEASE.jar:/Users/macbook/.m2/repository/org/projectlombok/lombok/1.18.6/lombok-1.18.6.jar:/Users/macbook/.m2/repository/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar:/Users/macbook/.m2/repository/org/springframework/spring-core/5.1.5.RELEASE/spring-core-5.1.5.RELEASE.jar:/Users/macbook/.m2/repository/org/springframework/spring-jcl/5.1.5.RELEASE/spring-jcl-5.1.5.RELEASE.jar:/Users/macbook/.m2/repository/org/springframework/boot/spring-boot-starter-mail/2.1.3.RELEASE/spring-boot-starter-mail-2.1.3.RELEASE.jar:/Users/macbook/.m2/repository/org/springframework/spring-context-support/5.1.5.RELEASE/spring-context-support-5.1.5.RELEASE.jar:/Users/macbook/.m2/repository/com/sun/mail/javax.mail/1.6.2/javax.mail-1.6.2.jar:/Users/macbook/.m2/repository/javax/activation/activation/1.1/activation-1.1.jar czy.com.dldl.DldlApplication

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.1.3.RELEASE)

2019-03-13 16:32:39.843  INFO 8923 --- [           main] czy.com.dldl.DldlApplication             : Starting DldlApplication on MacBook-Pro.local with PID 8923 (/Users/macbook/intellij-workspace/DLDL/target/classes started by macbook in /Users/macbook/intellij-workspace/DLDL)
2019-03-13 16:32:39.845  INFO 8923 --- [           main] czy.com.dldl.DldlApplication             : No active profile set, falling back to default profiles: default
2019-03-13 16:32:40.670  INFO 8923 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2019-03-13 16:32:40.690  INFO 8923 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2019-03-13 16:32:40.690  INFO 8923 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.16]
2019-03-13 16:32:40.696  INFO 8923 --- [           main] o.a.catalina.core.AprLifecycleListener   : The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [/Users/macbook/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.]
2019-03-13 16:32:40.761  INFO 8923 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2019-03-13 16:32:40.761  INFO 8923 --- [           main] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 887 ms
2019-03-13 16:32:40.976  INFO 8923 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2019-03-13 16:32:41.104  INFO 8923 --- [           main] o.s.s.c.ThreadPoolTaskScheduler          : Initializing ExecutorService 'taskScheduler'
2019-03-13 16:32:41.159  INFO 8923 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2019-03-13 16:32:41.162  INFO 8923 --- [           main] czy.com.dldl.DldlApplication             : Started DldlApplication in 16.648 seconds (JVM running for 22.194)
2019-03-13 16:32:42.005  INFO 8923 --- [   scheduling-1] czy.com.dldl.task.Task                   : ------------定时任务开启同步消息通知------------
2019-03-13 16:32:53.000  INFO 8923 --- [   scheduling-1] czy.com.dldl.task.Task                   : ------------定时任务结束同步消息通知------------

邮件显示如下:

猜你喜欢

转载自blog.csdn.net/weixin_40514790/article/details/88535943