FakeSMTP – FakeSMTP - Dummy SMTP server for developers
Installez et démarrez un serveur SMTP factice pour le développement.
pom.xml
pom.xml
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.1.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
</dependencies>
logback.xml
Modifiez `` logback.xml '' en vous référant au document de connexion Chapitre 4 Appender #SMTPAppender.
src\main\resources\logback.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/base.xml" />
<appender name="EMAIL" class="ch.qos.logback.classic.net.SMTPAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<smtpHost>localhost</smtpHost>
<smtpPort>25</smtpPort>
<to>[email protected]</to>
<to>[email protected]</to>
<from>[email protected]</from>
<subject>TESTING: %logger{20} - %m</subject>
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>%date %-5level %logger{35} - %message%n</pattern>
</layout>
<STARTTLS>true</STARTTLS>
<asynchronousSending>false</asynchronousSending><!--Voir ci-dessous-->
</appender>
<root level="DEBUG">
<appender-ref ref="EMAIL" />
</root>
</configuration>
asynchronousSending = false </ code> sera décrit plus tard.
Créez une application spring-boot </ code> appropriée.
HogeApplication.java
package kagamihoge.logmailsend;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class HogeApplication implements CommandLineRunner {
public static void main(String[] args) {
SpringApplication.run(HogeApplication.class, args).close();
}
Logger logger = LoggerFactory.getLogger(HogeApplication.class);
@Override
public void run(String... args) throws Exception {
logger.info("debug");
logger.info("info");
logger.error("error");
logger.error("error with exception", new NullPointerException());
}
}
Étant donné que l'exemple de code pour vérifier l'opération se termine immédiatement après le démarrage de main, main se termine avant que logback envoie un e-mail. Par conséquent, le courrier n'est pas envoyé sauf si le mode de transmission asynchrone est défini sur false.
Recommended Posts