ui 고치기 전 세이브
This commit is contained in:
@@ -125,6 +125,54 @@ export class MailSendSimpleController {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 대량 메일 발송
|
||||
*/
|
||||
async sendBulkMail(req: Request, res: Response) {
|
||||
try {
|
||||
const { accountId, templateId, subject, recipients } = req.body;
|
||||
|
||||
// 필수 파라미터 검증
|
||||
if (!accountId || !templateId || !subject || !recipients || !Array.isArray(recipients)) {
|
||||
return res.status(400).json({
|
||||
success: false,
|
||||
message: '필수 파라미터가 누락되었습니다.',
|
||||
});
|
||||
}
|
||||
|
||||
if (recipients.length === 0) {
|
||||
return res.status(400).json({
|
||||
success: false,
|
||||
message: '수신자가 없습니다.',
|
||||
});
|
||||
}
|
||||
|
||||
console.log(`📧 대량 발송 요청: ${recipients.length}명`);
|
||||
|
||||
// 대량 발송 실행
|
||||
const result = await mailSendSimpleService.sendBulkMail({
|
||||
accountId,
|
||||
templateId,
|
||||
subject,
|
||||
recipients,
|
||||
});
|
||||
|
||||
return res.json({
|
||||
success: true,
|
||||
data: result,
|
||||
message: `${result.success}/${result.total} 건 발송 완료`,
|
||||
});
|
||||
} catch (error: unknown) {
|
||||
const err = error as Error;
|
||||
console.error('❌ 대량 발송 오류:', err);
|
||||
return res.status(500).json({
|
||||
success: false,
|
||||
message: '대량 발송 중 오류가 발생했습니다.',
|
||||
error: err.message,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* SMTP 연결 테스트
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user