--- title: "메일 목록 조회" slug: "sens-mail-list" updated: 2026-09-17T09:15:58Z published: 2026-09-17T09:15:58Z canonical: "api.ncloud-docs.com/sens-mail-list" --- > ## Documentation Index > Fetch the complete documentation index at: https://api.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # 메일 목록 조회

Classic/VPC 환경에서 이용 가능합니다.

발송 요청에 포함된 메일 목록을 조회합니다. 목록 탐색에 필요한 요약 필드만 반환하며, 본문·첨부파일·수신자별 결과가 필요하면 [메일 상세 조회](/docs/sens-mail-get) API를 사용해 주십시오. ## 요청 요청 형식을 설명합니다. 요청 형식은 다음과 같습니다. | 메서드 | URI | | --- | --- | | GET | /mail/v2/services/{serviceId}/requests/{requestId}/mails | ### 요청 헤더 Simple & Easy Notification Service API에서 공통으로 사용하는 헤더에 대한 정보는 [Simple & Easy Notification Service 요청 헤더](/docs/sens-overview#요청헤더)를 참조해 주십시오. | 필드 | 필수 여부 | 설명 | | --- | --- | --- | | `x-ncp-lang` | Optional | 응답 메시지 언어 | ### 요청 경로 파라미터 요청 경로 파라미터에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `serviceId` | String | Required | 메일 서비스 아이디 | | `requestId` | String | Required | 발송 요청 아이디 | ### 요청 쿼리 파라미터 요청 쿼리 파라미터에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `mailId` | String | Optional | 메일 아이디 | | `recipientAddress` | String | Optional | 수신자 메일 주소 | | `title` | String | Optional | 메일 제목 | | `status` | String | Optional | 메일 발송 상태 | | `pageNo` | Integer | Optional | 페이지 번호 | | `pageSize` | Integer | Optional | 페이지당 항목 수 | | `sort` | String | Optional | 정렬 조건 | :::(Info) (참고) * 서로 다른 필터를 함께 지정하면 AND로 동작합니다. * 권한이 있는 호출자에 한해, 경로의 `requestId`가 존재하지 않으면 `404`를 반환합니다. 조건에 맞는 메일이 없는 것(빈 배열 + `200`)과는 다릅니다. * 정렬 키가 고유하지 않으면 동일 값 항목 간 순서는 보장되지 않습니다. ::: ### 요청 예시 요청 예시는 다음과 같습니다. ```shell curl --location --request GET 'https://sens.apigw.ntruss.com/mail/v2/services/ncp:mail:kr:1********2:main/requests/20260712-R-01K0ZQ8YV3M4N5P6R7S8T9VAWX-777/mails?status=PARTIAL_FAILED&pageNo=0&pageSize=10&sort=createDateTime%2Cdesc' \ --header 'x-ncp-apigw-timestamp: {Timestamp}' \ --header 'x-ncp-iam-access-key: {Access Key}' \ --header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \ --header 'x-ncp-lang: ko-KR' ``` ## 응답 응답 형식을 설명합니다. ### 응답 바디 응답 바디에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `mails` | Array | - | 메일 목록: [mails](#mails) | | `totalElements` | Integer | - | 조건에 맞는 전체 항목 수 | | `totalPages` | Integer | - | 전체 페이지 수 | | `pageNo` | Integer | - | 현재 페이지 번호 | | `pageSize` | Integer | - | 페이지당 항목 수 | #### `mails` `mails`에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `requestId` | String | - | 발송 요청 아이디 | | `mailId` | String | - | 메일 아이디 | | `createDateTime` | String | - | 발송 요청 접수 일시 | | `title` | String | - | 메일 제목 | | `templateNo` | Integer | - | 사용된 템플릿 번호 | | `templateName` | String | - | 사용된 템플릿 이름 | | `status` | String | - | 메일 발송 상태 | | `senderAddress` | String | - | 발신자 메일 주소 | | `senderName` | String | - | 발신자 이름 | | `sendDateTime` | String | - | 발송 완료 일시 | | `representativeRecipient` | String | - | 대표 수신자 메일 주소 | | `recipientCount` | Integer | - | 수신자 수 | | `sendType` | String | - | 발송 유형 | | `advertising` | Boolean | - | 광고 메일 여부 | :::(Info) (참고) 수신 거부(`UNSUBSCRIBED`)·발송 차단(`BLOCKED`)·처리 오류(`ERRORED`)로 발송되지 않은 수신자는 성공으로 집계되지 않으므로, 해당 수신자만 있는 메일은 `FAILED`로 관측됩니다. 수신자별 사유는 [메일 상세 조회](/docs/sens-mail-get) API의 `recipients[].status`와 `recipients[].sendResultCode`로 확인해 주십시오. ::: ### 응답 상태 코드 응답 상태 코드에 대한 설명은 다음과 같습니다. | HTTP 상태 코드 | 코드 | 메시지 | 설명 | | --- | --- | --- | --- | | 200 | - | OK | 요청 성공 | | 400 | InvalidParameter | Bad Request | 요청 파라미터 오류 | | 401 | Unauthorized | Unauthorized | 인증 실패 | | 403 | Forbidden | Forbidden | 경로의 `serviceId`에 대한 권한 없음 | | 404 | NotFound | Not Found | 경로의 `requestId`가 존재하지 않음 | | 500 | InternalServerError | Internal Server Error | 서버 내부 오류 | :::(Info) (참고) Simple & Easy Notification Service의 다른 API와 달리, 메일 v2 API는 NCP API 표준 오류 형식으로 오류를 반환합니다. 응답 바디의 `status`, `error`(문자열) 필드 대신 아래의 `error` 객체가 반환됩니다. ::: #### 오류 응답 바디 호출이 실패한 경우 응답 바디에 대한 설명은 다음과 같습니다. | 필드 | 타입 | 필수 여부 | 설명 | | --- | --- | --- | --- | | `error` | Object | - | 오류 정보 | | `error.errorCode` | String | - | 오류 코드 | | `error.message` | String | - | 오류 코드별 고정 메시지 | | `error.detail` | String | - | 요청별 상세 사유 | | `error.fieldErrors` | Array | - | 파라미터별 오류 목록 | #### 오류 응답 예시 호출이 실패한 경우의 응답 예시는 다음과 같습니다. ```json { "error": { "errorCode": "NotFound", "message": "The requested resource was not found." } } ``` ### 응답 예시 응답 예시는 다음과 같습니다. ```json { "mails": [ { "requestId": "20260712-R-01K0ZQ8YV3M4N5P6R7S8T9VAWX-777", "mailId": "20260712-M-01K0ZQ8YVBQ7C2D3E4F5G6H7J8-777", "createDateTime": "2026-07-12T15:19:53+09:00", "title": "홍길동님 반갑습니다.", "templateNo": 41, "templateName": "등급 변경 안내", "status": "PARTIAL_FAILED", "senderAddress": "no_reply@company.com", "senderName": "고객센터", "sendDateTime": "2026-07-12T15:19:53+09:00", "representativeRecipient": "hongildong@example.com", "recipientCount": 30, "sendType": "IMMEDIATE", "advertising": false } ], "totalElements": 2, "totalPages": 1, "pageNo": 0, "pageSize": 10 } ```