Skip to content

Commit 3102d6d

Browse files
fix: add fallback email service for CI
Signed-off-by: vimal-tech-starter <varnam2311@gmail.com>
1 parent 76f2159 commit 3102d6d

3 files changed

Lines changed: 34 additions & 0 deletions

File tree

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package com.vimaltech.contactapi.service.impl;
2+
3+
import com.vimaltech.contactapi.dto.EmailRequest;
4+
import com.vimaltech.contactapi.service.EmailService;
5+
import lombok.extern.slf4j.Slf4j;
6+
import org.springframework.context.annotation.Primary;
7+
import org.springframework.stereotype.Service;
8+
9+
@Service
10+
@Primary
11+
@Slf4j
12+
public class NoOpEmailService implements EmailService {
13+
14+
@Override
15+
public void sendEmail(EmailRequest request) {
16+
log.warn("Email disabled (NoOp) | to={}", request.getTo());
17+
}
18+
}

src/main/java/com/vimaltech/contactapi/service/impl/SmtpEmailService.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,15 @@
44
import com.vimaltech.contactapi.service.EmailService;
55
import lombok.extern.slf4j.Slf4j;
66
import org.springframework.beans.factory.annotation.Value;
7+
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
78
import org.springframework.mail.SimpleMailMessage;
89
import org.springframework.mail.javamail.JavaMailSender;
910
import org.springframework.scheduling.annotation.Async;
1011
import org.springframework.stereotype.Service;
1112

1213
@Service
1314
@Slf4j
15+
@ConditionalOnProperty(name = "spring.mail.host")
1416
public class SmtpEmailService implements EmailService {
1517

1618
private final JavaMailSender mailSender;
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# application-test.yml
2+
spring:
3+
mail:
4+
host: localhost
5+
port: 1025
6+
username: test
7+
password: test
8+
9+
app:
10+
mail:
11+
from: test@test.com
12+
enabled: false
13+
admin:
14+
email: test@test.com

0 commit comments

Comments
 (0)