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/mavlushechka | |
Initializemain
Diffstat (limited to 'src/main/java/com/mavlushechka')
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); +    } + +} |