diff --git a/server/src/main/kotlin/delta/codecharacter/server/sendgrid/SendGridService.kt b/server/src/main/kotlin/delta/codecharacter/server/sendgrid/SendGridService.kt
index b29eae27..0ec4c9eb 100644
--- a/server/src/main/kotlin/delta/codecharacter/server/sendgrid/SendGridService.kt
+++ b/server/src/main/kotlin/delta/codecharacter/server/sendgrid/SendGridService.kt
@@ -5,6 +5,7 @@ import com.sendgrid.Request
import com.sendgrid.Response
import com.sendgrid.SendGrid
import com.sendgrid.helpers.mail.Mail
+import com.sendgrid.helpers.mail.objects.Content
import com.sendgrid.helpers.mail.objects.Email
import delta.codecharacter.server.exception.CustomException
import org.slf4j.Logger
@@ -22,28 +23,33 @@ class SendGridService {
@Autowired private lateinit var sendGrid: SendGrid
- @Value("\${spring.sendgrid.template-id}") private lateinit var templateId: String
-
@Value("\${spring.sendgrid.sender-email}") private lateinit var senderEmail: String
+ // @Value("\${spring.sendgrid.template-id}") private lateinit var templateId: String
@Value("\${base-url}") private lateinit var baseUrl: String
fun activateUserEmail(userId: UUID, token: String, name: String, email: String) {
val link = "$baseUrl#/activate?id=$userId&token=$token"
- val linkName = "User Activation link"
- val message = "Please click the button to activate your account"
+ val linkName = "User Activation"
+ val message = "You are just one step away from activating your CodeCharacter account"
+ val disregardMessage = "If you did not create an account with us,please disregard this email"
val buttonName = "Activate"
val subjectInfo = "CodeCharacter Account Activation Link"
- sendTemplateEmail(email, name, linkName, link, message, buttonName, subjectInfo)
+ sendTemplateEmail(
+ email, name, linkName, link, message, disregardMessage, buttonName, subjectInfo
+ )
}
fun resetPasswordEmail(userId: UUID, token: String, name: String, email: String) {
val link = "$baseUrl#/reset-password?id=$userId&token=$token"
val linkName = "Reset-Password link"
val message = "Please click the button to reset your password"
+ val disregardMessage = "If you did not request a password reset,please ignore this email."
val buttonName = "Reset Password"
val subjectInfo = "CodeCharacter Reset-Password Link"
- sendTemplateEmail(email, name, linkName, link, message, buttonName, subjectInfo)
+ sendTemplateEmail(
+ email, name, linkName, link, message, disregardMessage, buttonName, subjectInfo
+ )
}
fun sendTemplateEmail(
@@ -52,22 +58,261 @@ class SendGridService {
linkName: String,
link: String,
message: String,
+ disregardMessage: String,
buttonName: String,
subjectInfo: String
) {
- val mail = Mail()
- val personalization = DynamicTemplatePersonalization()
- personalization.addTo(Email(emailTo))
- mail.setFrom(Email(senderEmail))
- mail.setSubject(subjectInfo)
- personalization.addDynamicTemplateData("name", name)
- personalization.addDynamicTemplateData("link_name", linkName)
- personalization.addDynamicTemplateData("message", message)
- personalization.addDynamicTemplateData("link", link)
- personalization.addDynamicTemplateData("button_name", buttonName)
- personalization.addDynamicTemplateData("subject", subjectInfo)
- mail.addPersonalization(personalization)
- mail.setTemplateId(templateId)
+ // Using DynamicTemplates are preferred but we dont have creds to access that so we used this :(
+ // val mail = Mail()
+ // val personalization = DynamicTemplatePersonalization()
+ // personalization.addTo(Email(emailTo))
+ // mail.setFrom(Email(senderEmail))
+ // mail.setSubject(subjectInfo)
+ // personalization.addDynamicTemplateData("name", name)
+ // personalization.addDynamicTemplateData("link_name", linkName)
+ // personalization.addDynamicTemplateData("message", message)
+ // personalization.addDynamicTemplateData("link", link)
+ // personalization.addDynamicTemplateData("button_name", buttonName)
+ // personalization.addDynamicTemplateData("subject", subjectInfo)
+ // mail.addPersonalization(personalization)
+ // mail.setTemplateId(templateId)
+ val emailContent =
+ "\n" +
+ "\n" +
+ "
\n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ "
\n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " | \n" +
+ " \n" +
+ " | \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " Email not displaying correctly? VIEW IT in your browser. | \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " | \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " Hi $name, \n" +
+ "
\n" +
+ " $message, \n" +
+ "
\n" +
+ " $disregardMessage | \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " | \n" +
+ " $buttonName\n" +
+ " | \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " | \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " With Regards! \n" +
+ " CodeCharacter | \n" +
+ " \n" +
+ " \n" +
+ " | \n" +
+ " \n" +
+ " \n" +
+ " | \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " | \n" +
+ " \n" +
+ " \n" +
+ " | \n" +
+ " \n" +
+ " \n" +
+ " \n" +
+ " | \n" +
+ " \n" +
+ " \n" +
+ " | \n" +
+ " \n" +
+ " \n" +
+ " | \n" +
+ "
\n" +
+ "
\n" +
+ "
\n" +
+ " \n" +
+ " \n" +
+ " "
+ val content = Content("text/html", emailContent)
+ val mail = Mail(Email(senderEmail), subjectInfo, Email(emailTo), content)
val request = Request()
try {
request.apply {