createMailRequest
- 인쇄
- PDF
createMailRequest
- 인쇄
- PDF
기사 요약
이 요약이 도움이 되었나요?
의견을 보내 주셔서 감사합니다.
Classic/VPC 환경에서 이용 가능합니다.
수신자, 발신자, 메일 내용 등을 지정하여 이메일 발송을 요청합니다. 발송 작업은 비동기로 처리됩니다.참고
- 한 번에 최대 100,000명에게 발송할 수 있고, 기본적으로 30건씩 나누어서 처리됩니다. 단, 수신자 그룹 조합 발송 조건(
recipientGroupFilter
) 입력 시 100,000명을 초과하여 발송할 수 있습니다. - 참조 및 숨은 참조는 최대 30명씩 추가할 수 있습니다.
- 이메일 본문은 최대 500 KB까지 허용됩니다.
- 기본 발송 한도는 월별 1,000,000건이며, 고객 지원을 통해 한도 상향을 요청할 수 있습니다.
- 발송 요청 한도는 이메일 수신인의 수에 따라 계산됩니다. 수신인 100명에 대한 발송 요청 시 100건의 발송 요청으로 간주합니다.
요청
요청 형식을 설명합니다. 요청 형식은 다음과 같습니다.
메서드 | URI |
---|---|
POST | /mails |
요청 헤더
Cloud Outbound Mailer API에서 공통으로 사용하는 헤더에 대한 자세한 내용은 Cloud Outbound Mailer 요청 헤더를 참조해 주십시오.
요청 바디
요청 바디에 대한 설명은 다음과 같습니다.
필드 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
senderAddress | String | Conditional | 발송자 이메일 주소
|
senderName | String | Optional | 발송자 이름(Byte)
|
templateSid | Integer | Optional | 이메일 작성에 사용할 템플릿의 SID
|
title | String | Conditional | 이메일 제목(Byte)
|
body | String | Conditional | 이메일 본문(KB)
|
individual | Boolean | Optional | 일반 또는 개인별 발송 여부
|
confirmAndSend | Boolean | Optional | 확인 후 발송 여부
|
advertising | Boolean | Optional | 광고 메일 여부
|
parameters | Object | Optional | 치환 파라미터
|
referencesHeader | String | Optional | References 헤더
|
reservationUtc | Long | Optional | 예약 발송 일시
|
reservationDateTime | String | Optional | 예약 발송 일시(yyyy-MM-dd HH:mm)
|
attachFileIds | List<String> | Optional | 첨부 파일의 ID 목록
|
recipients | List<RecipientForRequest> | Conditional | 수신자 목록
|
recipientGroupFilter | RecipientGroupFilter | Optional | 수신자 그룹 조합 필터 |
useBasicUnsubscribeMsg | Boolean | Optional | 광고 메일에서 수신 거부 메시지 사용 여부
|
unsubscribeMessage | String | Conditional | 사용자 정의 수신 거부 메시지 문구
|
요청 예시
요청 예시는 다음과 같습니다.
템플릿 없이 작성
템플릿을 사용하지 않고 이메일 내용을 직접 작성하는 요청 예시는 다음과 같습니다.
curl --location --request POST 'https://mail.apigw.ntruss.com/api/v1/mails'
--header 'x-ncp-apigw-timestamp: {Timestamp}'
--header 'x-ncp-iam-access-key: {Access Key}'
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}'
--header 'Content-Type: application/json'
--data-raw '{"senderAddress":"no_reply@company.com","title":"${customer_name}님 반갑습니다.","body":"귀하의 등급이 ${BEFORE_GRADE}에서 ${AFTER_GRADE}로 변경되었습니다.","recipients":[{"address":"hongildong@naver_.com","name":"홍길동","type":"R","parameters":{"customer_name":"홍길동","BEFORE_GRADE":"SILVER","AFTER_GRADE":"GOLD"}},{"address":"chulsoo@daum_.net","name":null,"type":"R","parameters":{"customer_name":"철수","BEFORE_GRADE":"BRONZE","AFTER_GRADE":"SILVER"}}],"individual":true,"advertising":false}'
템플릿을 활용하여 작성
템플릿을 사용하여 이메일을 작성하는 요청 예시는 다음과 같습니다.
curl --location --request POST 'https://mail.apigw.ntruss.com/api/v1/mails'
--header 'x-ncp-apigw-timestamp: {Timestamp}'
--header 'x-ncp-iam-access-key: {Access Key}'
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}'
--header 'Content-Type: application/json'
--data-raw '{"templateSid" : 1,"recipients":[{"address":"hongildong@naver_.com","name":"홍길동","type":"R","parameters":{"customer_name":"홍길동","BEFORE_GRADE":"SILVER","AFTER_GRADE":"GOLD"}},{"address":"chulsoo@daum_.net","name":null,"type":"R","parameters":{"customer_name":"철수","BEFORE_GRADE":"BRONZE","AFTER_GRADE":"SILVER"}}],"individual":true,"advertising":false}'
응답
응답 형식을 설명합니다.
응답 바디
응답 바디에 대한 설명은 다음과 같습니다.
필드 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
requestId | String | Required | 각 요청을 구분하기 위한 이메일 발송 요청 ID
|
count | Integer | Required | 이메일 발송 요청 건수 |
응답 상태 코드
응답 상태 코드에 대한 설명은 다음과 같습니다.
HTTP 상태 코드 | 코드 | 설명 |
---|---|---|
201 | - | 요청 성공 |
400 | - | 인증 실패, 잘못된 요청 |
400 | 77101 | 로그인 정보 오류 |
400 | 77102 | 요청 오류 |
400 | 77103 | 요청한 리소스가 존재하지 않음 |
403 | 77201 | 요청한 리소스에 대한 권한이 없음 |
403 | 77202 | 이메일 서비스 사용을 신청하지 않은 사용자가 호출한 경우 |
405 | 77001 | 지원되지 않는 메서드 유형 |
415 | 77002 | 지원되지 않는 미디어 유형 |
500 | - | 서버 오류 |
500 | 77301 | 기본 프로젝트가 존재하지 않음 |
500 | 77302 | 외부 시스템 API 연동 오류 |
500 | 77303 | 그 외 내부 서버 오류 |
응답 예시
응답 예시는 다음과 같습니다.
{
"requestId":"20181203000000000201",
"count":10000
}
이 문서가 도움이 되었습니까?