-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* basic email system --------- Co-authored-by: Sundarakrishnan N <[email protected]> Co-authored-by: SundarakrishnanN <[email protected]> Co-authored-by: Prajwal P <[email protected]>
- Loading branch information
1 parent
d51b3dc
commit 19b19f8
Showing
11 changed files
with
413 additions
and
41 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
10 changes: 7 additions & 3 deletions
10
src/main/java/org/ieeervce/gatekeeper/GateKeeperApplication.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
66 changes: 66 additions & 0 deletions
66
src/main/java/org/ieeervce/gatekeeper/dto/Email/EmailDTO.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
package org.ieeervce.gatekeeper.dto.Email; | ||
|
||
import org.ieeervce.gatekeeper.entity.RequestForm; | ||
import org.ieeervce.gatekeeper.entity.User; | ||
|
||
public class EmailDTO { | ||
private String recipient; | ||
private String messageBody; | ||
private String subject; | ||
private byte[] attachment; | ||
private String name; | ||
private String formLink; | ||
public String getFormLink() { | ||
return formLink; | ||
} | ||
public EmailDTO(User user, String messageBody,RequestForm requestForm){ | ||
this.recipient =user.getEmail(); | ||
this.messageBody=messageBody; | ||
this.name = user.getName().split(" ")[0]; | ||
this.attachment = requestForm.getFormPDF(); | ||
this.formLink = "gate.ieee-rvce.org/event/"+requestForm.getRequestFormId(); | ||
} | ||
public void setFormLink(String formLink) { | ||
this.formLink = formLink; | ||
} | ||
|
||
public String getName() { | ||
return name; | ||
} | ||
|
||
public void setName(String name) { | ||
this.name = name; | ||
} | ||
|
||
public String getRecipient() { | ||
return recipient; | ||
} | ||
|
||
public void setRecipient(String recipient) { | ||
this.recipient = recipient; | ||
} | ||
|
||
public String getMessageBody() { | ||
return messageBody; | ||
} | ||
|
||
public void setMessageBody(String messageBody) { | ||
this.messageBody = messageBody; | ||
} | ||
|
||
public String getSubject() { | ||
return subject; | ||
} | ||
|
||
public void setSubject(String subject) { | ||
this.subject = subject; | ||
} | ||
|
||
public byte[] getAttachment() { | ||
return attachment; | ||
} | ||
|
||
public void setAttachment(byte[] attachment) { | ||
this.attachment = attachment; | ||
} | ||
} |
59 changes: 59 additions & 0 deletions
59
src/main/java/org/ieeervce/gatekeeper/service/EmailService.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
package org.ieeervce.gatekeeper.service; | ||
|
||
import jakarta.mail.MessagingException; | ||
import jakarta.mail.internet.MimeMessage; | ||
import org.ieeervce.gatekeeper.dto.Email.EmailDTO; | ||
import org.springframework.beans.factory.annotation.Autowired; | ||
import org.springframework.beans.factory.annotation.Value; | ||
import org.springframework.core.io.ByteArrayResource; | ||
import org.springframework.mail.MailException; | ||
import org.springframework.mail.SimpleMailMessage; | ||
import org.springframework.mail.javamail.JavaMailSender; | ||
import org.springframework.mail.javamail.MimeMessageHelper; | ||
import org.springframework.scheduling.annotation.Async; | ||
import org.springframework.stereotype.Service; | ||
import org.thymeleaf.TemplateEngine; | ||
import org.thymeleaf.context.Context; | ||
|
||
|
||
@Service | ||
public class EmailService { | ||
//in this implementation the unchecked exception MailException has not been handled, if anything breaks do check this out too | ||
@Autowired | ||
private JavaMailSender javaMailSender; | ||
@Autowired | ||
private TemplateEngine templateEngine; | ||
@Value("${spring.mail.username}") private String sender; | ||
@Async | ||
public void sendUserCredentials(String userEmail,String userPassword) { | ||
SimpleMailMessage simpleMailMessage = new SimpleMailMessage(); | ||
simpleMailMessage.setFrom(sender); | ||
simpleMailMessage.setTo(userEmail); | ||
simpleMailMessage.setSubject("GateKeeper Account Successfully Created!"); | ||
simpleMailMessage.setText("Dear User,\n Your GateKeeper account has successfully been created!\nPlease login to https://gate.ieee-rvce.org/ and change your password as soon as you can.\n\nEmail: " + userEmail + "\nPassword: "+userPassword+"\n\nThank you,\nIEEE RVCE Web Team"); | ||
javaMailSender.send(simpleMailMessage); | ||
} | ||
@Async | ||
public void sendSimpleMail(EmailDTO emailDetails) throws MessagingException{ | ||
|
||
MimeMessage mimeMessage = javaMailSender.createMimeMessage(); | ||
MimeMessageHelper mimeMessageHelper ; | ||
|
||
mimeMessageHelper = new MimeMessageHelper(mimeMessage,true); | ||
mimeMessageHelper.setFrom(sender); | ||
mimeMessageHelper.setTo(emailDetails.getRecipient()); | ||
mimeMessageHelper.setSubject(emailDetails.getSubject()); | ||
//Setting context of variables for the html file | ||
Context context = new Context(); | ||
context.setVariable("header",emailDetails.getSubject()); | ||
context.setVariable("name",emailDetails.getName().split(" ")[0]); | ||
context.setVariable("messageBody",emailDetails.getMessageBody()); | ||
context.setVariable("linkUrl",emailDetails.getFormLink()); | ||
|
||
String htmlContent = templateEngine.process("emailTemplate",context); | ||
mimeMessageHelper.setText(htmlContent,true); | ||
mimeMessageHelper.addAttachment("Event PDF.pdf",new ByteArrayResource(emailDetails.getAttachment())); | ||
javaMailSender.send(mimeMessage); | ||
|
||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.