summaryrefslogtreecommitdiff
path: root/lib/mail
diff options
context:
space:
mode:
author0-Zz-ang <s1998319@gmail.com>2025-09-26 16:45:59 +0900
committer0-Zz-ang <s1998319@gmail.com>2025-09-26 16:45:59 +0900
commite9f707b10b81d9759243473dd03fa463573d0772 (patch)
tree3fa08deea9a5909acd32a9a1277345de3296cc97 /lib/mail
parentf8fc02e175f93466cd7693eb6e549c45362e785b (diff)
(박서영)이메일발신인조회페이지 생성
Diffstat (limited to 'lib/mail')
-rw-r--r--lib/mail/email-log.ts24
-rw-r--r--lib/mail/sendEmail.ts9
2 files changed, 33 insertions, 0 deletions
diff --git a/lib/mail/email-log.ts b/lib/mail/email-log.ts
new file mode 100644
index 00000000..bb11aed9
--- /dev/null
+++ b/lib/mail/email-log.ts
@@ -0,0 +1,24 @@
+import db from "@/db/db";
+import { emailLogs } from "@/db/schema/emailLogs";
+
+export type CreateEmailLogParams = {
+ from: string;
+ to: string;
+ cc?: string | string[];
+ subject: string;
+};
+
+export async function createEmailLog(params: CreateEmailLogParams): Promise<void> {
+ const { from, to, cc, subject } = params;
+
+ const ccValue = Array.isArray(cc) ? cc.join(", ") : cc ?? null;
+
+ await db.insert(emailLogs).values({
+ from,
+ to,
+ cc: ccValue ?? undefined,
+ subject,
+ });
+}
+
+
diff --git a/lib/mail/sendEmail.ts b/lib/mail/sendEmail.ts
index 408f6e40..3a4d2591 100644
--- a/lib/mail/sendEmail.ts
+++ b/lib/mail/sendEmail.ts
@@ -1,5 +1,6 @@
import { useTranslation } from '@/i18n';
import { transporter } from './mailer';
+import { createEmailLog } from '@/lib/mail/email-log';
import db from '@/db/db';
import { templateDetailView } from '@/db/schema';
import { eq } from 'drizzle-orm';
@@ -95,6 +96,14 @@ export async function sendEmail({
template
});
+ // 이메일 발신 이력 로깅 (최소 필드만 저장)
+ await createEmailLog({
+ from: fromAddress,
+ to,
+ cc,
+ subject: renderedSubject,
+ });
+
return result;
} catch (error) {