diff --git a/docker-compose.yml b/docker-compose.yml index 59d6dda..bcc2637 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -37,7 +37,13 @@ services: depends_on: - postgres - + # ✅ Add SMTP Service (MailHog for Testing) + mailhog: + image: mailhog/mailhog + container_name: gym-mailhog + ports: + - "1025:1025" # SMTP Port + - "8025:8025" # Web UI for viewing emails volumes: pgdata: diff --git a/src/main/java/org/justjava/gymcore/service/EmailService.java b/src/main/java/org/justjava/gymcore/service/EmailService.java new file mode 100644 index 0000000..9e60590 --- /dev/null +++ b/src/main/java/org/justjava/gymcore/service/EmailService.java @@ -0,0 +1,27 @@ +package org.justjava.gymcore.service; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.mail.SimpleMailMessage; +import org.springframework.mail.javamail.JavaMailSender; +import org.springframework.stereotype.Service; + +@Slf4j +@Service +@RequiredArgsConstructor +public class EmailService { + + private final JavaMailSender mailSender; + + + public void sendEmail(String to, String subject, String text) { + SimpleMailMessage message = new org.justjava.gymcore.service.SimpleMailMessage(); + message.setTo(to); + message.setSubject(subject); + message.setText(text); + message.setFrom("your-email@gmail.com"); // Ensure this is your verified email + + mailSender.send(message); + log.info("Email sent to {}", to); + } +} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 0a23af4..38ac3ed 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -19,3 +19,12 @@ logging.file.name=gymcore.log logging.appender.type=FILE logging.level.root=INFO logging.level.org.justjava.gymcore=INFO + +# SMTP Configuration for Sending Emails +spring.mail.host=smtp.gmail.com +spring.mail.port=587 +spring.mail.username=your-email@gmail.com +spring.mail.password=your-email-password +spring.mail.properties.mail.smtp.auth=true +spring.mail.properties.mail.smtp.starttls.enable=true +spring.mail.properties.mail.smtp.starttls.required=true