메일 발송

    메일을 발송한다.

    주의

    • 메일 제목은 최대 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"
    }