```
type EmailProcessingData = {
  clientName: string;
  deliverableLinks: string[];
  upcMonth: string;
  upcMonthRaw: string;
  upcQuarter: string;
};

export function processEmailTemplate(
  template: string,
  data: EmailProcessingData
): string {
  const downloadHyperlinks = data.deliverableLinks
    .map(
      (link) => `<a href="${link}">${link?.split("/")[6]?.split("?")[0]}</a>`
    )
    .join("<br>");

  return template
    .replace(/\[CLIENT_NAME\]/g, data.clientName)
    .replace(/\[DELIVERABLE_LINKS\]/g, downloadHyperlinks)
    .replace(/\[UPC_MONTH\]/g, data.upcMonth)
    .replace(/\[UPC_MONTH_RAW\]/g, data.upcMonthRaw)
    .replace(/\[UPC_QUARTER\]/g, data.upcQuarter);
}

export function processEmailSubject(
  subject: string,
  data: EmailProcessingData
): string {
  return subject
    .replace(/\[UPC_MONTH\]/g, data.upcMonth)
    .replace(/\[UPC_MONTH_RAW\]/g, data.upcMonthRaw)
    .replace(/\[CLIENT_NAME\]/g, data.clientName)
    .replace(/\[UPC_QUARTER\]/g, data.upcQuarter);
}
```