메일관리
This commit is contained in:
@@ -7,14 +7,14 @@ export class MailSendSimpleController {
|
||||
*/
|
||||
async sendMail(req: Request, res: Response) {
|
||||
try {
|
||||
console.log('📧 메일 발송 요청 수신:', {
|
||||
accountId: req.body.accountId,
|
||||
to: req.body.to,
|
||||
cc: req.body.cc,
|
||||
bcc: req.body.bcc,
|
||||
subject: req.body.subject,
|
||||
attachments: req.files ? (req.files as Express.Multer.File[]).length : 0,
|
||||
});
|
||||
// console.log('📧 메일 발송 요청 수신:', {
|
||||
// accountId: req.body.accountId,
|
||||
// to: req.body.to,
|
||||
// cc: req.body.cc,
|
||||
// bcc: req.body.bcc,
|
||||
// subject: req.body.subject,
|
||||
// attachments: req.files ? (req.files as Express.Multer.File[]).length : 0,
|
||||
// });
|
||||
|
||||
// FormData에서 JSON 문자열 파싱
|
||||
const accountId = req.body.accountId;
|
||||
@@ -31,7 +31,7 @@ export class MailSendSimpleController {
|
||||
|
||||
// 필수 파라미터 검증
|
||||
if (!accountId || !to || !Array.isArray(to) || to.length === 0) {
|
||||
console.log('❌ 필수 파라미터 누락');
|
||||
// console.log('❌ 필수 파라미터 누락');
|
||||
return res.status(400).json({
|
||||
success: false,
|
||||
message: '계정 ID와 수신자 이메일이 필요합니다.',
|
||||
@@ -63,9 +63,9 @@ export class MailSendSimpleController {
|
||||
if (req.body.fileNames) {
|
||||
try {
|
||||
parsedFileNames = JSON.parse(req.body.fileNames);
|
||||
console.log('📎 프론트엔드에서 받은 파일명들:', parsedFileNames);
|
||||
// console.log('📎 프론트엔드에서 받은 파일명들:', parsedFileNames);
|
||||
} catch (e) {
|
||||
console.warn('파일명 파싱 실패, multer originalname 사용');
|
||||
// console.warn('파일명 파싱 실패, multer originalname 사용');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -83,10 +83,10 @@ export class MailSendSimpleController {
|
||||
});
|
||||
});
|
||||
|
||||
console.log('📎 최종 첨부파일 정보:', attachments.map(a => ({
|
||||
filename: a.filename,
|
||||
path: a.path.split('/').pop()
|
||||
})));
|
||||
// console.log('📎 최종 첨부파일 정보:', attachments.map(a => ({
|
||||
// filename: a.filename,
|
||||
// path: a.path.split('/').pop()
|
||||
// })));
|
||||
}
|
||||
|
||||
// 메일 발송
|
||||
@@ -130,16 +130,24 @@ export class MailSendSimpleController {
|
||||
*/
|
||||
async sendBulkMail(req: Request, res: Response) {
|
||||
try {
|
||||
const { accountId, templateId, subject, recipients } = req.body;
|
||||
const { accountId, templateId, customHtml, subject, recipients } = req.body;
|
||||
|
||||
// 필수 파라미터 검증
|
||||
if (!accountId || !templateId || !subject || !recipients || !Array.isArray(recipients)) {
|
||||
if (!accountId || !subject || !recipients || !Array.isArray(recipients)) {
|
||||
return res.status(400).json({
|
||||
success: false,
|
||||
message: '필수 파라미터가 누락되었습니다.',
|
||||
});
|
||||
}
|
||||
|
||||
// 템플릿 또는 직접 작성 중 하나는 있어야 함
|
||||
if (!templateId && !customHtml) {
|
||||
return res.status(400).json({
|
||||
success: false,
|
||||
message: '템플릿 또는 메일 내용 중 하나는 필수입니다.',
|
||||
});
|
||||
}
|
||||
|
||||
if (recipients.length === 0) {
|
||||
return res.status(400).json({
|
||||
success: false,
|
||||
@@ -147,12 +155,13 @@ export class MailSendSimpleController {
|
||||
});
|
||||
}
|
||||
|
||||
console.log(`📧 대량 발송 요청: ${recipients.length}명`);
|
||||
// console.log(`📧 대량 발송 요청: ${recipients.length}명`);
|
||||
|
||||
// 대량 발송 실행
|
||||
const result = await mailSendSimpleService.sendBulkMail({
|
||||
accountId,
|
||||
templateId,
|
||||
templateId, // 선택
|
||||
customHtml, // 선택
|
||||
subject,
|
||||
recipients,
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user