sendmail

입력되는 데이터를 시스템 SMTP 설정을 사용하여 이메일로 전송합니다.

명령어 속성

항목설명
명령어 유형가공 쿼리
필요 권한관리자
라이선스 사용량해당 없음
병렬 실행지원
분산 실행미지원

문법

sendmail [html=BOOL]

옵션

html=BOOL
t로 설정하면 메일 본문을 HTML 형식으로 전송합니다.

입력 필드

필드타입필수 여부설명
to문자열필수수신자 이메일 주소. 여러 주소를 쉼표(,)로 구분하여 지정할 수 있습니다.
subject문자열필수메일 제목
message문자열필수메일 본문
cc문자열선택참조(CC) 이메일 주소. 여러 주소를 쉼표(,)로 구분하여 지정할 수 있습니다.
bcc문자열선택숨은 참조(BCC) 이메일 주소. 여러 주소를 쉼표(,)로 구분하여 지정할 수 있습니다.

출력 필드

필드타입설명
_sendmail_fail문자열메일 전송에 실패한 경우 오류 사유. 전송에 성공하면 이 필드가 할당되지 않습니다.

오류 코드

파싱 오류
오류 코드메시지설명
31100sendmail 전송에 필요한 SMTP 설정이 없습니다.시스템 SMTP 설정이 구성되지 않은 경우
31101sendmail 명령어는 관리자 권한이 필요합니다.관리자 권한이 없는 사용자가 실행한 경우
런타임 오류

해당 사항 없음

설명

sendmail 명령어는 입력되는 레코드마다 이메일을 전송합니다. 입력 레코드의 to, subject, message 필드를 읽어 수신자, 제목, 본문을 구성합니다. ccbcc 필드가 있으면 참조 및 숨은 참조 주소를 추가합니다.

필수 필드(to, subject, message)가 없거나 이메일 주소에 도메인 부분(@)이 없으면 전송하지 않고 _sendmail_fail 필드에 오류 사유를 기록합니다. 메일 대기열이 가득 찬 경우에도 _sendmail_fail 필드에 queue full 메시지를 기록합니다.

전송 성공 여부와 관계없이 입력 레코드를 그대로 다음 명령어로 전달합니다.

시스템 SMTP 설정이 필요하므로 웹 콘솔의 시스템 설정에서 SMTP 서버를 먼저 구성해야 합니다.

사용 예

이 사용 예에서 조회하는 WEB_APACHE_SAMPLE 테이블을 준비하려면 쿼리 실습용 데이터를 참고하세요.

  1. 웹 접근 통계 이메일 전송

    table WEB_APACHE_SAMPLE
    | stats count as total, count(status >= 400) as errors by method
    | eval subject = "웹 접근 통계 보고"
    | eval to = "admin@example.com"
    | eval message = concat(method, " 요청 총 ", string(total), "건, 오류 ", string(errors), "건")
    | sendmail
    

    HTTP 메서드별 총 요청 수와 오류 수를 집계하여 각 행을 텍스트 형식의 이메일로 전송합니다.

  2. 오류 응답 요약을 HTML 형식으로 전송

    table WEB_APACHE_SAMPLE
    | search status >= 400
    | stats count as cnt by status, uri
    | sort -cnt
    | limit 10
    | eval to = "admin@example.com"
    | eval subject = "상위 오류 URL 보고"
    | eval message = concat("<b>", string(status), "</b> ", uri, " (", string(cnt), "건)")
    | sendmail html=t
    

    오류 응답 중 상위 10건의 상태 코드와 URI를 HTML 형식의 이메일로 전송합니다.

  3. 참조 및 숨은 참조 포함

    table WEB_APACHE_SAMPLE
    | stats count as total
    | eval to = "admin@example.com"
    | eval cc = "manager@example.com"
    | eval bcc = "audit@example.com"
    | eval subject = "웹 접근 로그 일별 집계"
    | eval message = concat("총 접근 건수: ", string(total), "건")
    | sendmail
    

    ccbcc 필드를 포함하여 참조 및 숨은 참조 수신자에게 동시에 전송합니다.

호환성

sendmail 명령어는 소나 4.0 이전 버전부터 제공되었습니다.