diff --git a/pkg/server/routes.go b/pkg/server/routes.go
index d9b57a9..b3057b8 100644
--- a/pkg/server/routes.go
+++ b/pkg/server/routes.go
@@ -123,11 +123,39 @@ func (ctrl *Controller) CreateJob(ctx *gin.Context) {
if ctrl.EmailService != nil {
// TODO: make this a nicer html template?
- message := fmt.Sprintf(
- "Your job has been created!\n\nUse this link to edit the job posting",
- SignedJobRoute(job, ctrl.Config),
- )
- err = ctrl.EmailService.SendEmail(newJobInput.Email, "Job Created!", message)
+ subject := fmt.Sprintf("Job %s Created!", newJobInput.Position)
+ message := fmt.Sprintf(`
+
+
+
+
+
+ Job Created
+
+
+
+
+
Job %s Created!
+
Congratulations! Your job posting for the position %s has been successfully created.
+
You can edit or update your job posting by clicking the link below:
+
Edit Job Posting
+
+
+
+
+ `, newJobInput.Position, newJobInput.Position, SignedJobRoute(job, ctrl.Config))
+
+ err = ctrl.EmailService.SendEmail(newJobInput.Email, subject, message)
if err != nil {
log.Println(fmt.Errorf("failed to sendEmail: %w", err))
// continuing...
diff --git a/pkg/server/routes_test.go b/pkg/server/routes_test.go
index f8b4dda..e94c8d9 100644
--- a/pkg/server/routes_test.go
+++ b/pkg/server/routes_test.go
@@ -166,7 +166,8 @@ func TestCreateJob(t *testing.T) {
assert.Equal(t, 1, len(svcmock.tweets))
assert.Equal(t, 1, len(svcmock.slacks))
- assert.Equal(t, "Job Created!", svcmock.emails[0].subject)
+ expectedSubject := fmt.Sprintf("Job %s Created!", tt.values["position"][0])
+ assert.Equal(t, expectedSubject, svcmock.emails[0].subject)
assert.Equal(t, tt.values["email"][0], svcmock.emails[0].recipient)
assert.Contains(t, svcmock.emails[0].body, server.SignedJobRoute(newJob, conf))