diff --git a/pom.xml b/pom.xml
index d6ef542..ed47212 100644
--- a/pom.xml
+++ b/pom.xml
@@ -77,6 +77,11 @@
org.springframework.boot
spring-boot-starter-webflux
+
+ org.springframework.boot
+ spring-boot-starter-mail
+ 3.3.4
+
diff --git a/src/main/java/_11/asktpk/artisanconnectbackend/controller/EmailController.java b/src/main/java/_11/asktpk/artisanconnectbackend/controller/EmailController.java
new file mode 100644
index 0000000..69dddc2
--- /dev/null
+++ b/src/main/java/_11/asktpk/artisanconnectbackend/controller/EmailController.java
@@ -0,0 +1,25 @@
+package _11.asktpk.artisanconnectbackend.controller;
+import _11.asktpk.artisanconnectbackend.dto.EmailDTO;
+import _11.asktpk.artisanconnectbackend.service.EmailService;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequestMapping("/api/v1/email")
+public class EmailController {
+ private final EmailService emailService;
+
+ public EmailController(EmailService emailService) {
+ this.emailService = emailService;
+ }
+
+ @PostMapping("/send")
+ public ResponseEntity sendEmail(@RequestBody EmailDTO email) {
+ try {
+ emailService.sendEmail(email);
+ return ResponseEntity.ok("Email wysłany pomyślnie");
+ } catch (Exception e) {
+ return ResponseEntity.status(500).body("Błąd podczas wysyłania emaila");
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/_11/asktpk/artisanconnectbackend/dto/EmailDTO.java b/src/main/java/_11/asktpk/artisanconnectbackend/dto/EmailDTO.java
new file mode 100644
index 0000000..ead076f
--- /dev/null
+++ b/src/main/java/_11/asktpk/artisanconnectbackend/dto/EmailDTO.java
@@ -0,0 +1,20 @@
+package _11.asktpk.artisanconnectbackend.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+import jakarta.validation.constraints.Email;
+import jakarta.validation.constraints.NotBlank;
+
+@Getter
+@Setter
+public class EmailDTO {
+ @Email(message = "Podaj poprawny adres email")
+ @NotBlank(message = "Adres email nie może być pusty")
+ private String to;
+
+ @NotBlank(message = "Temat nie może być pusty")
+ private String subject;
+
+ @NotBlank(message = "Treść nie może być pusta")
+ private String body;
+}
\ No newline at end of file
diff --git a/src/main/java/_11/asktpk/artisanconnectbackend/service/EmailService.java b/src/main/java/_11/asktpk/artisanconnectbackend/service/EmailService.java
new file mode 100644
index 0000000..fbb6474
--- /dev/null
+++ b/src/main/java/_11/asktpk/artisanconnectbackend/service/EmailService.java
@@ -0,0 +1,24 @@
+package _11.asktpk.artisanconnectbackend.service;
+
+import _11.asktpk.artisanconnectbackend.dto.EmailDTO;
+import org.springframework.mail.SimpleMailMessage;
+import org.springframework.mail.javamail.JavaMailSender;
+import org.springframework.stereotype.Service;
+
+@Service
+public class EmailService {
+ private final JavaMailSender mailSender;
+
+ public EmailService(JavaMailSender mailSender) {
+ this.mailSender = mailSender;
+ }
+
+ public void sendEmail(EmailDTO email) {
+ SimpleMailMessage message = new SimpleMailMessage();
+ message.setTo(email.getTo());
+ message.setSubject(email.getSubject());
+ message.setText(email.getBody());
+ message.setFrom("patryk.kania001@gmail.com");
+ mailSender.send(message);
+ }
+}
\ No newline at end of file
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index ed4cdfd..ba14ee0 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -18,6 +18,13 @@ file.upload-dir=/Users/andsol/Desktop/uploads
spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=10MB
+spring.mail.host=smtp.gmail.com
+spring.mail.port=587
+spring.mail.username=patryk.kania001@gmail.com
+spring.mail.password=pmyd ylwg mbsn hcpp
+spring.mail.properties.mail.smtp.auth=true
+spring.mail.properties.mail.smtp.starttls.enable=true
+
tpay.clientId = 01JQKC048X62ST9V59HNRSXD92-01JQKC2CQHPYXQFSFX8BKC24BX
tpay.clientSecret = 44898642be53381cdcc47f3e44bf5a15e592f5d270fc3a6cf6fb81a8b8ebffb9
tpay.authUrl = https://openapi.sandbox.tpay.com/oauth/auth