diff options
| author | 0-Zz-ang <s1998319@gmail.com> | 2025-09-26 16:45:59 +0900 |
|---|---|---|
| committer | 0-Zz-ang <s1998319@gmail.com> | 2025-09-26 16:45:59 +0900 |
| commit | e9f707b10b81d9759243473dd03fa463573d0772 (patch) | |
| tree | 3fa08deea9a5909acd32a9a1277345de3296cc97 /lib/mail | |
| parent | f8fc02e175f93466cd7693eb6e549c45362e785b (diff) | |
(박서영)이메일발신인조회페이지 생성
Diffstat (limited to 'lib/mail')
| -rw-r--r-- | lib/mail/email-log.ts | 24 | ||||
| -rw-r--r-- | lib/mail/sendEmail.ts | 9 |
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) { |
