메일 발송
메일을 발송한다.
주의
- 메일 제목은 최대 100자까지 입력할 수 있으며, 100자 이상 입력하면 100자까지만 저장된다.
- 발송 시에 메일 주소의 형식이 맞는지만 확인하고 유효(메일 수신 가능 여부, 실제 존재하는 메일 여부 등)한지는 확인하지 않는다.
- 메일 주소가 유효하지 않으면 발송자에게 "[발송 실패 안내]" 메일이 발송된다.
- 첨부 파일 중에 확장자 차단 또는 바이러스에 걸린 파일이 포함된 경우 발송에 실패한다.
- 확장자 차단 또는 바이러스에 걸린 파일을 첨부 파일로 업로드하면 차단된 파일 이름과 함께 FILE_UPLOAD_REJECT_VIRUS 또는 FILE_UPLOAD_BLOCKED 오류 메시지를 표시한다.
- 20MB 이하의 일반 파일만 첨부할 수 있다.(일반 파일 첨부 최대 용량은 관리자의 설정에 따라 달라진다.)
- 20MB가 넘는 파일을 첨부하면 SYSTEM_ERROR가 발생한다.
API 종류
서비스 API
Request URL
https://apis.worksmobile.com/r/{API ID}/mail/v2/sendMail
HTTP Method
POST(Content-Type: multipart/form-data; boundary="$boundary”; charset=UTF-8)
Request
파라미터 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
userName | String | N | 보내는 사람 이름 |
to | String | Y | 받는 사람 메일 주소(구분자: ';'). 예) admin@example.com; admin1@example.com |
cc | String | N | 참조 메일 주소(구분자: ';'). 예) admin@example.com; admin1@example.com |
bcc | String | N | 숨은 참조 메일 주소(구분자: ';'). 예) admin@example.com; admin1@example.com |
subject | String | Y | 메일 제목. 제목은 최대 100자까지 입력할 수 있으며, 그 이상 입력하면 100자까지만 저장된다. |
text | String | N | 메일 내용 |
contentType | String | N | 메일 본문 형식 ● html(기본값) ● text(text 메일) |
saveSentMail | String | N | 보낸메일함에 저장 여부 ● true(기본값) ● false |
sendSeparately | String | N | 개인별 발송 여부 ● true ● false(기본값) |
첨부파일이름 | Multipart | N | UTF-8로 인코딩한 첨부 파일의 이름 |
- 파라미터 이름 중에
첨부파일이름
이 있으나 메일 발송 시에는 실제 업로드할 파일명을 지정하면 된다. 예) file.text를 첨부하려면 파라미터명에 file.text를 지정한다. - 메일 본문 형식에 따라 개행 문자가 다르다. HTML 형식에서는 '<br>' 태그를 사용하고, TEXT 형식에서는 Java 언어 등을 이용한 서버 호출인 경우는 '\r\n'(Carriage Return and Line Feed)를, 브라우저 등 클라이언트 호출로 HTML에서 text나 textarea로 메일 본문을 넘기는 경우에는 Enter(줄바꿈)를 사용한다.
Response
API 호출에 성공하면 HTTP Status 코드를 200으로 반환하며, 응답 결과는 JSON 형식으로 반환한다.
속성 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
smtpFailList | List | Y | SMTP 오류로 발송에 실패한 메일 주소 목록. 예) nvmail051@example.com, nvmail052@example.com |
successList | List | Y | 성공적으로 발송된 메일 주소 목록. 예) nvmail051@example.com, nvmail052@example.com |
dupAddrList | List | Y | 동일한 주소가 두 번 이상 들어간 메일 주소 목록(오류 아님). 예) nvmail051@example.com, nvmail052@example.com |
dormantAddrList | List | Y | 휴면 메일 주소 목록. 예) nvmail051@example.com, nvmail052@example.com |
noneExistenceAddrList | List | Y | 존재하지 않는 메일 주소 목록. 예) nvmail051@example.com, nvmail052@example.com |
wrongAddrList | List | Y | 잘못된 메일 주소 목록. 예) nvmail051@example.com, nvmail052@example.com |
Response Example
{
"returnCode": 0,
"successList": ["nvmail051@example.com", "nvmail052@example.com"],
"wrongAddrList": [],
"noneExistenceAddrList": [],
"smtpFailList": [],
"returnMessage": 0,
"dormantAddrList": [],
"dupAddrList": []
}
Error
호출에 실패하면 HTTP Status와 함께 다음 오류 정보가 반환된다.
속성 | 타입 | 설명 |
---|---|---|
code | String | Error Code |
message | String | Error Message |
Http Status | Error Code | 설명 |
---|---|---|
400 | INVALID_PARAMETER | 요청값이 적절하지 않음 |
500 | SYSTEM_ERROR | 내부 서버 오류 |
Error Example
{
"code": "INVALID_PARAMETER",
"message": "FILE_UPLOAD_REJECT_VIRUS : virus.exe",
"domain": "mail"
}