enqueue reply email job

This commit is contained in:
Hongbo Wu 2024-04-09 11:09:02 +08:00
parent 74f5b922dd
commit e7fc1316dd
3 changed files with 10 additions and 9 deletions

View file

@ -9,7 +9,8 @@ export const SEND_EMAIL_JOB = 'send-email'
type ContentType = { html: string } | { text: string } | { templateId: string }
export type SendEmailJobData = Merge<
{
emailAddress: string
to: string
from?: string
subject?: string
html?: string
text?: string
@ -21,7 +22,7 @@ export type SendEmailJobData = Merge<
export const sendEmailJob = async (data: SendEmailJobData) => {
if (process.env.USE_MAILJET && data.dynamicTemplateData) {
return sendWithMailJet(data.emailAddress, data.dynamicTemplateData.link)
return sendWithMailJet(data.to, data.dynamicTemplateData.link)
}
if (!data.html && !data.text && !data.templateId) {
@ -31,7 +32,6 @@ export const sendEmailJob = async (data: SendEmailJobData) => {
return sendEmail({
...data,
from: env.sender.message,
to: data.emailAddress,
from: data.from || env.sender.message,
})
}

View file

@ -17,6 +17,7 @@ import {
import { getRepository } from '../../repository'
import { updateReceivedEmail } from '../../services/received_emails'
import { saveNewsletter } from '../../services/save_newsletter_email'
import { enqueueSendEmail } from '../../utils/createTask'
import { authorized } from '../../utils/gql-utils'
import { generateUniqueUrl, parseEmailAddress } from '../../utils/parser'
import { sendEmail } from '../../utils/sendEmail'
@ -143,7 +144,7 @@ export const replyToEmailResolver = authorized<
const reply = 'Okay'
const result = await sendEmail({
const result = await enqueueSendEmail({
to: recentEmail.replyTo || recentEmail.from, // send to the reply-to address if it exists or the from address
subject: 'Re: ' + recentEmail.subject,
text: reply,
@ -154,6 +155,6 @@ export const replyToEmailResolver = authorized<
await repo.update(recentEmailId, { reply })
return {
success: result,
success: !!result,
}
})

View file

@ -18,7 +18,7 @@ export const sendNewAccountVerificationEmail = async (user: {
}
const result = await enqueueSendEmail({
emailAddress: user.email,
to: user.email,
dynamicTemplateData: dynamicTemplateData,
templateId: env.sendgrid.confirmationTemplateId,
})
@ -78,7 +78,7 @@ export const sendAccountChangeEmail = async (user: {
}
const result = await enqueueSendEmail({
emailAddress: user.email,
to: user.email,
dynamicTemplateData: dynamicTemplateData,
templateId: env.sendgrid.verificationTemplateId,
})
@ -100,7 +100,7 @@ export const sendPasswordResetEmail = async (user: {
}
const result = await enqueueSendEmail({
emailAddress: user.email,
to: user.email,
dynamicTemplateData: dynamicTemplateData,
templateId: env.sendgrid.resetPasswordTemplateId,
})