Skip to content

Commit 4c955ec

Browse files
CP373931CP373931
authored andcommitted
Added send email successfuly
1 parent cbbd4c6 commit 4c955ec

File tree

61 files changed

+274
-407
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+274
-407
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.env
1+
*.env
22
HELP.md
33
target/
44
!.mvn/wrapper/maven-wrapper.jar

About Us.html

Lines changed: 0 additions & 26 deletions
This file was deleted.

Name-edited.pdf

1.06 KB
Binary file not shown.

email-service/pom.xml

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,37 +11,32 @@
1111
<packaging>jar</packaging>
1212

1313
<name>email-service</name>
14-
<url>http://maven.apache.org</url>
14+
<url>https://maven.apache.org</url>
1515

1616
<properties>
1717
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
1818
</properties>
1919

2020
<dependencies>
21+
<dependency>
22+
<groupId>org.springframework.boot</groupId>
23+
<artifactId>spring-boot-starter-web</artifactId>
24+
</dependency>
2125
<dependency>
2226
<groupId>junit</groupId>
2327
<artifactId>junit</artifactId>
2428
<version>3.8.1</version>
2529
<scope>test</scope>
2630
</dependency>
27-
<dependency>
28-
<groupId>org.springframework.boot</groupId>
29-
<artifactId>spring-boot-starter-web</artifactId>
30-
</dependency>
3131
<dependency>
3232
<groupId>jakarta.persistence</groupId>
3333
<artifactId>jakarta.persistence-api</artifactId>
3434
<version>3.1.0</version>
3535
</dependency>
36-
<dependency>
37-
<groupId>org.springframework.boot</groupId>
38-
<artifactId>spring-boot-autoconfigure</artifactId>
39-
<version>3.1.0</version>
40-
</dependency>
4136
<dependency>
4237
<groupId>com.sun.mail</groupId>
43-
<artifactId>javax.mail</artifactId>
44-
<version>1.6.2</version>
38+
<artifactId>jakarta.mail</artifactId>
39+
<version>2.0.0</version>
4540
</dependency>
4641
<dependency>
4742
<groupId>org.springframework.boot</groupId>
@@ -53,6 +48,10 @@
5348
<artifactId>commons-io</artifactId>
5449
<version>2.13.0</version>
5550
</dependency>
51+
<dependency>
52+
<groupId>commons-codec</groupId>
53+
<artifactId>commons-codec</artifactId>
54+
</dependency>
5655

5756

5857
</dependencies>

email-service/src/main/java/com/emailservice/email/EmailConfig.java

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
package com.emailservice.email;
22

3+
import lombok.extern.slf4j.Slf4j;
34
import org.springframework.beans.factory.annotation.Value;
45
import org.springframework.context.annotation.Bean;
56
import org.springframework.context.annotation.Configuration;
7+
import org.springframework.context.annotation.PropertySource;
68
import org.springframework.mail.javamail.JavaMailSender;
79
import org.springframework.mail.javamail.JavaMailSenderImpl;
810
import java.util.Properties;
9-
11+
@Slf4j
1012
@Configuration
1113
public class EmailConfig {
1214
@Value("${mail.host}")
@@ -22,16 +24,19 @@ public class EmailConfig {
2224
@Bean
2325
public JavaMailSender JavaMailSender() {
2426
JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
25-
mailSender.setHost(HOST_MAIL);
26-
mailSender.setPort(PORT);
27-
mailSender.setUsername(EMAIL);
28-
mailSender.setPassword(PASSWORD);
29-
Properties props = mailSender.getJavaMailProperties();
30-
props.put("mail.transport.protocol", PROTOCOL);
31-
props.put("mail.smtp.auth", "true");
32-
props.put("mail.smtp.starttls.enable", "true");
33-
props.put("mail.debug", "true");
34-
27+
try {
28+
mailSender.setHost(HOST_MAIL);
29+
mailSender.setPort(PORT);
30+
mailSender.setUsername(EMAIL);
31+
mailSender.setPassword(PASSWORD);
32+
Properties props = mailSender.getJavaMailProperties();
33+
props.put("mail.transport.protocol", PROTOCOL);
34+
props.put("mail.smtp.auth", "true");
35+
props.put("mail.smtp.starttls.enable", "true");
36+
props.put("mail.debug", "true");
37+
}catch (Exception ex){
38+
log.info("\nError:-----------------> message: {}, cause: {}",ex.getMessage(),ex.getCause().toString());
39+
}
3540
return mailSender;
3641
}
3742

email-service/src/main/java/com/emailservice/email/EmailController.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import jakarta.servlet.http.HttpServletRequest;
66
import jakarta.servlet.http.Part;
77
import lombok.AllArgsConstructor;
8+
import org.springframework.http.MediaType;
89
import org.springframework.http.ResponseEntity;
910
import org.springframework.validation.annotation.Validated;
1011
import org.springframework.web.bind.annotation.PostMapping;
@@ -22,7 +23,7 @@
2223
@Validated
2324
public class EmailController {
2425
private final EmailService emailService;
25-
@PostMapping("/send")
26+
@PostMapping(value = "/send",consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
2627
public ResponseEntity<?> sendEmail(HttpServletRequest request) throws ServletException, IOException {
2728

2829
Part sendEmailRequest = request.getPart("email");

email-service/src/main/java/com/emailservice/email/EmailService.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import jakarta.validation.constraints.Email;
99
import lombok.AllArgsConstructor;
1010
import lombok.extern.slf4j.Slf4j;
11+
import org.apache.commons.codec.CharEncoding;
1112
import org.apache.commons.io.FileUtils;
1213
import org.springframework.core.env.Environment;
1314
import org.springframework.core.io.DefaultResourceLoader;
@@ -50,21 +51,19 @@ public boolean sendEmail(@Email String recipient, Part filePart ) {
5051
};
5152

5253
MimeMessage message = mailSender.createMimeMessage();
53-
Properties properties = System.getProperties();
54-
properties.setProperty("mail.smtp.host", Objects.requireNonNull(environment.getProperty("mail.protocol")));
55-
5654
var sent =false;
5755
try {
5856

59-
message.setFrom(new InternetAddress(Objects.requireNonNull(environment.getProperty("mail.host"))));
57+
message.setFrom(new InternetAddress(Objects.requireNonNull(environment.getProperty("mail.username"))));
6058
message.addRecipient(Message.RecipientType.TO, new InternetAddress(recipient));
6159
message.setSubject("EDITED PDF FILE");
62-
String emailTemplate = readFile.apply("emailTemplate.html");
60+
String emailTemplate = readFile.apply("/emailTemplate.html");
6361
emailTemplate =emailTemplate.replace("${firstname}","Name") ;
6462
message.setContent(emailTemplate,"text/html; charset=utf-8");
6563

66-
MimeMessageHelper helper = new MimeMessageHelper(message);
64+
MimeMessageHelper helper = new MimeMessageHelper(message,true, CharEncoding.UTF_8);
6765
helper.addAttachment("Name-edited.pdf",partToFile.apply(filePart,"Name-edited.pdf"));
66+
mailSender.send(message);
6867
sent=true;
6968
log.info("------------------> Sent message successfully to user email: {}",recipient);
7069
} catch (

email-service/src/main/java/resources/application.yml renamed to email-service/src/main/resources/application.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
spring:
2+
config:
3+
import: optional:file:.env[.properties]
24
application:
35
name: email-service
46
server:

home_inprogress.html

Lines changed: 0 additions & 144 deletions
This file was deleted.

0 commit comments

Comments
 (0)