Awesome Message SDK - v0.12.4
    Preparing search index...

    Class EmailClient

    이메일 클라이언트

    이메일 발송 및 조회 기능을 제공합니다. 일반 메일, 개별 메일, 광고 메일, 인증 메일, 태그 메일 발송과 발송 내역 조회 기능을 포함합니다.

    const client = new EmailClient({ accessKeyId, secretAccessKey });

    // 일반 메일 발송
    const result = await client.sendGeneralMail("client-1", {
    senderAddress: "sender@example.com",
    title: "안녕하세요",
    body: "<p>메일 내용입니다.</p>",
    receiverList: [
    { receiveMailAddr: "receiver@example.com", receiveType: "MRT0" }
    ]
    });

    // 메일 조회
    const mails = await client.listMails("client-1", {
    startSendDate: "2024-01-01 00:00:00",
    endSendDate: "2024-01-31 23:59:59"
    });
    Index

    Constructors

    Methods

    • SendOptions에서 HTTP 헤더를 생성합니다

      Parameters

      Returns Record<string, string>

      생성된 헤더 객체

    • GET 요청

      Type Parameters

      • T

      Parameters

      • path: string

        API 경로

      • Optionalheaders: Record<string, string>

        추가 헤더

      Returns Promise<T>

      응답 데이터

    Protectedpost

    • post<T>(
          path: string,
          body?: unknown,
          headers?: Record<string, string>,
      ): Promise<T>

      POST 요청

      Type Parameters

      • T

      Parameters

      • path: string

        API 경로

      • Optionalbody: unknown

        요청 본문

      • Optionalheaders: Record<string, string>

        추가 헤더

      Returns Promise<T>

      응답 데이터

    • FormData를 사용한 POST 요청 (multipart/form-data)

      Type Parameters

      • T

      Parameters

      • path: string

        API 경로

      • formData: FormData

        undici의 FormData 객체

      • Optionalheaders: Record<string, string>

        추가 헤더

      Returns Promise<T>

      응답 데이터

    • PUT 요청

      Type Parameters

      • T

      Parameters

      • path: string

        API 경로

      • Optionalbody: unknown

        요청 본문

      • Optionalheaders: Record<string, string>

        추가 헤더

      Returns Promise<T>

      응답 데이터

    • DELETE 요청

      Type Parameters

      • T

      Parameters

      • path: string

        API 경로

      • Optionalheaders: Record<string, string>

        추가 헤더

      Returns Promise<T>

      응답 데이터

    • DELETE 요청 (body 포함)

      Type Parameters

      • T

      Parameters

      • path: string

        API 경로

      • Optionalbody: unknown

        요청 본문

      • Optionalheaders: Record<string, string>

        추가 헤더

      Returns Promise<T>

      응답 데이터

    • 일반 메일을 발송합니다.

      여러 수신자에게 동일한 내용의 메일을 발송합니다. 수신자 목록에 있는 모든 수신자가 서로의 이메일 주소를 볼 수 있습니다.

      Parameters

      Returns Promise<SendEmailResponse>

      발송 결과 정보

      InvalidParameterException 요청 데이터가 유효하지 않은 경우

      AccessDeniedException API 호출 권한이 없는 경우

      InternalServerErrorException 서버 오류가 발생한 경우

      const result = await client.sendGeneralMail("client-1", {
      senderAddress: "sender@example.com",
      senderName: "발신자",
      title: "회의 안내",
      body: "<p>내일 오후 2시에 회의가 있습니다.</p>",
      receiverList: [
      { receiveMailAddr: "user1@example.com", receiveType: "MRT0" },
      { receiveMailAddr: "user2@example.com", receiveType: "MRT1" }
      ]
      });
    • 개별 메일을 발송합니다.

      수신자 각각에게 개별적으로 메일을 발송합니다. 여러 명에게 보내도 수신자에게는 본인만 표시됩니다. 수신자별로 다른 템플릿 파라미터를 적용할 수 있습니다.

      Parameters

      Returns Promise<SendEmailResponse>

      발송 결과 정보

      InvalidParameterException 요청 데이터가 유효하지 않은 경우

      AccessDeniedException API 호출 권한이 없는 경우

      InternalServerErrorException 서버 오류가 발생한 경우

      const result = await client.sendIndividualMail("client-1", {
      senderAddress: "sender@example.com",
      title: "##name##님, 주문이 완료되었습니다",
      body: "<p>주문번호: ##orderNo##</p>",
      receiverList: [
      {
      receiveMailAddr: "user1@example.com",
      templateParameter: { name: "홍길동", orderNo: "12345" }
      },
      {
      receiveMailAddr: "user2@example.com",
      templateParameter: { name: "김철수", orderNo: "12346" }
      }
      ]
      });
    • 광고성 일반 메일을 발송합니다.

      광고성 메일을 발송합니다. 제목에 (광고) 문구가 자동으로 추가됩니다.

      Parameters

      Returns Promise<SendEmailResponse>

      발송 결과 정보

      InvalidParameterException 요청 데이터가 유효하지 않은 경우

      AccessDeniedException API 호출 권한이 없는 경우

      InternalServerErrorException 서버 오류가 발생한 경우

      const result = await client.sendAdMail("client-1", {
      senderAddress: "marketing@example.com",
      title: "신상품 할인 이벤트",
      body: "<p>지금 바로 확인하세요!</p>",
      receiverList: [
      { receiveMailAddr: "user@example.com", receiveType: "MRT0" }
      ]
      });
    • 인증 메일을 발송합니다.

      본인 인증용 메일을 발송합니다. 단건 발송(1명의 수신자)만 가능하며, 첨부 파일을 지원하지 않습니다.

      Parameters

      Returns Promise<SendEmailResponse>

      발송 결과 정보

      InvalidParameterException 요청 데이터가 유효하지 않은 경우

      AccessDeniedException API 호출 권한이 없는 경우

      InternalServerErrorException 서버 오류가 발생한 경우

      const result = await client.sendAuthMail("client-1", {
      senderAddress: "noreply@example.com",
      title: "인증번호 안내",
      body: "<p>인증번호: 123456</p>",
      receiver: { receiveMailAddr: "user@example.com" }
      });
    • 태그 메일을 발송합니다.

      태그에 등록된 UID들에게 메일을 발송합니다. 대량 발송에 적합합니다.

      Parameters

      Returns Promise<SendEmailTagMailResponse>

      발송 결과 정보

      InvalidParameterException 요청 데이터가 유효하지 않은 경우

      AccessDeniedException API 호출 권한이 없는 경우

      InternalServerErrorException 서버 오류가 발생한 경우

      const result = await client.sendTagMail("client-1", {
      senderAddress: "newsletter@example.com",
      title: "월간 뉴스레터",
      body: "<p>이번 달 소식을 전해드립니다.</p>",
      tagExpression: ["VIP고객", "뉴스레터구독"]
      });
    • 첨부 파일을 업로드합니다.

      메일 발송 시 사용할 첨부 파일을 업로드합니다. 업로드된 파일 ID를 메일 발송 시 attachFileIdList에 포함시킵니다.

      Parameters

      Returns Promise<UploadEmailAttachmentResponse>

      업로드된 파일 정보

      InvalidParameterException 요청 데이터가 유효하지 않은 경우

      AccessDeniedException API 호출 권한이 없는 경우

      InternalServerErrorException 서버 오류가 발생한 경우

      const fileBuffer = fs.readFileSync("document.pdf");
      const result = await client.uploadAttachment("client-1", {
      fileName: "document.pdf",
      fileBody: fileBuffer
      });
      // result.fileId를 메일 발송 시 사용
    • 메일 발송 상세를 조회합니다.

      Parameters

      • externalId: string

        클라이언트 연동 ID

      • requestId: string

        요청 ID

      • mailSequence: number

        메일 시퀀스

      Returns Promise<GetEmailMailDetailResponse>

      메일 상세 정보

      InvalidParameterException 요청 데이터가 유효하지 않은 경우

      AccessDeniedException API 호출 권한이 없는 경우

      NotFoundException 해당 메일을 찾을 수 없는 경우

      InternalServerErrorException 서버 오류가 발생한 경우

      const result = await client.getMail("client-1", "20240101000000ABC123", 1);
      

    Properties

    API 인증 크레덴셜