diff options
author | AlisaLinUwU <alisalinuwu@gmail.com> | 2025-01-26 11:41:45 +0500 |
---|---|---|
committer | AlisaLinUwU <alisalinuwu@gmail.com> | 2025-01-26 11:41:45 +0500 |
commit | 93fe6a825baa3c5141fb220256b2c0b1fc3da273 (patch) | |
tree | b9cca4a0b970e8ee53a6465c1d2a572fb6dfb825 /src/main/java/com |
Initializemain
Diffstat (limited to 'src/main/java/com')
6 files changed, 172 insertions, 0 deletions
diff --git a/src/main/java/com/mavlushechka/notary/NotaryApplication.java b/src/main/java/com/mavlushechka/notary/NotaryApplication.java new file mode 100644 index 0000000..87aba14 --- /dev/null +++ b/src/main/java/com/mavlushechka/notary/NotaryApplication.java @@ -0,0 +1,16 @@ +package com.mavlushechka.notary; + +import com.mavlushechka.notary.repository.RequestRepository; +import org.springframework.boot.CommandLineRunner; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.Bean; + +@SpringBootApplication +public class NotaryApplication { + + public static void main(String[] args) { + SpringApplication.run(NotaryApplication.class, args); + } + +} diff --git a/src/main/java/com/mavlushechka/notary/controller/ContactsPageController.java b/src/main/java/com/mavlushechka/notary/controller/ContactsPageController.java new file mode 100644 index 0000000..5fa78b4 --- /dev/null +++ b/src/main/java/com/mavlushechka/notary/controller/ContactsPageController.java @@ -0,0 +1,22 @@ +package com.mavlushechka.notary.controller; + +import com.mavlushechka.notary.util.EmailSender; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PostMapping; + +import javax.mail.MessagingException; + +@Controller +public class ContactsPageController { + + public String redirectToContacts() { + return "redirect:/contacts"; + } + + @PostMapping("/send-message") + public String sendMessage(String firstName, String email, String message) throws MessagingException { + EmailSender.send(email, "barnoavezova@gmail.com", "Contact, %s".formatted(firstName), message); + return redirectToContacts(); + } + +} diff --git a/src/main/java/com/mavlushechka/notary/controller/MainPageController.java b/src/main/java/com/mavlushechka/notary/controller/MainPageController.java new file mode 100644 index 0000000..fbea980 --- /dev/null +++ b/src/main/java/com/mavlushechka/notary/controller/MainPageController.java @@ -0,0 +1,50 @@ +package com.mavlushechka.notary.controller; + +import com.mavlushechka.notary.model.Request; +import com.mavlushechka.notary.repository.RequestRepository; +import com.mavlushechka.notary.util.EmailSender; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.repository.CrudRepository; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; + +import javax.mail.MessagingException; + +@Controller +public class MainPageController { + @Autowired + private RequestRepository requestRepository; + + @GetMapping + public String redirectToHome() { + return "redirect:/"; + } + + @GetMapping("/") + public String home() { + return "index"; + } + + @GetMapping("/about-us") + public String aboutUs() { + return "about-us"; + } + + @GetMapping("/typography") + public String typography() { + return "typography"; + } + + @GetMapping("/contacts") + public String contacts() { + return "contact-us"; + } + + @PostMapping("/send-request") + public String sendRequest(String firstName, String secondName, String number, String requestForm, String message) { + requestRepository.save(new Request(firstName, secondName, number, requestForm, message)); + return redirectToHome(); + } + +} diff --git a/src/main/java/com/mavlushechka/notary/model/Request.java b/src/main/java/com/mavlushechka/notary/model/Request.java new file mode 100644 index 0000000..aa9725a --- /dev/null +++ b/src/main/java/com/mavlushechka/notary/model/Request.java @@ -0,0 +1,29 @@ +package com.mavlushechka.notary.model; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; + +@Entity +public class Request { + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + private Long id; + private String firstName; + private String secondName; + private String number; + private String form; + private String message; + + public Request() { + } + + public Request(String firstName, String secondName, String number, String form, String message) { + this.firstName = firstName; + this.secondName = secondName; + this.number = number; + this.form = form; + this.message = message; + } +} diff --git a/src/main/java/com/mavlushechka/notary/repository/RequestRepository.java b/src/main/java/com/mavlushechka/notary/repository/RequestRepository.java new file mode 100644 index 0000000..4321116 --- /dev/null +++ b/src/main/java/com/mavlushechka/notary/repository/RequestRepository.java @@ -0,0 +1,9 @@ +package com.mavlushechka.notary.repository; + +import com.mavlushechka.notary.model.Request; +import org.springframework.data.repository.CrudRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface RequestRepository extends CrudRepository<Request, Long> { +} diff --git a/src/main/java/com/mavlushechka/notary/util/EmailSender.java b/src/main/java/com/mavlushechka/notary/util/EmailSender.java new file mode 100644 index 0000000..ffdd62a --- /dev/null +++ b/src/main/java/com/mavlushechka/notary/util/EmailSender.java @@ -0,0 +1,46 @@ +package com.mavlushechka.notary.util; + +import javax.mail.*; +import javax.mail.internet.*; +import java.util.Properties; + +public class EmailSender { + + private final static Session SESSION; + + static { + Properties properties = new Properties(); + properties.put("mail.smtp.auth", true); + properties.put("mail.smtp.starttls.enable", true); + properties.put("mail.smtp.host", "smtp.mailtrap.io"); + properties.put("mail.smtp.port", "2525"); + properties.put("mail.smtp.ssl.trust", "smtp.mailtrap.io"); + properties.put("mail.smtp.ssl.protocols", "TLSv1.2"); + + SESSION = Session.getInstance(properties, new Authenticator() { + @Override + protected PasswordAuthentication getPasswordAuthentication() { + return new PasswordAuthentication("4df6840637b3c8", "829aff4fc98967"); + } + }); + } + + + public static void send(String from, String to, String subject, String messageText) throws MessagingException { + Message message = new MimeMessage(SESSION); + message.setFrom(new InternetAddress(from)); + message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to)); + message.setSubject(subject); + + MimeBodyPart mimeBodyPart = new MimeBodyPart(); + mimeBodyPart.setContent(messageText, "text/html; charset=utf-8"); + + Multipart multipart = new MimeMultipart(); + multipart.addBodyPart(mimeBodyPart); + + message.setContent(multipart); + + Transport.send(message); + } + +} |