sendmail
입력되는 데이터를 시스템 SMTP 설정을 사용하여 이메일로 전송합니다.
명령어 속성
| 항목 | 설명 |
|---|---|
| 명령어 유형 | 가공 쿼리 |
| 필요 권한 | 관리자 |
| 라이선스 사용량 | 해당 없음 |
| 병렬 실행 | 지원 |
| 분산 실행 | 미지원 |
문법
sendmail [html=BOOL]
옵션
html=BOOLt로 설정하면 메일 본문을 HTML 형식으로 전송합니다.
입력 필드
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
to | 문자열 | 필수 | 수신자 이메일 주소. 여러 주소를 쉼표(,)로 구분하여 지정할 수 있습니다. |
subject | 문자열 | 필수 | 메일 제목 |
message | 문자열 | 필수 | 메일 본문 |
cc | 문자열 | 선택 | 참조(CC) 이메일 주소. 여러 주소를 쉼표(,)로 구분하여 지정할 수 있습니다. |
bcc | 문자열 | 선택 | 숨은 참조(BCC) 이메일 주소. 여러 주소를 쉼표(,)로 구분하여 지정할 수 있습니다. |
출력 필드
| 필드 | 타입 | 설명 |
|---|---|---|
_sendmail_fail | 문자열 | 메일 전송에 실패한 경우 오류 사유. 전송에 성공하면 이 필드가 할당되지 않습니다. |
오류 코드
파싱 오류
| 오류 코드 | 메시지 | 설명 |
|---|---|---|
| 31100 | sendmail 전송에 필요한 SMTP 설정이 없습니다. | 시스템 SMTP 설정이 구성되지 않은 경우 |
| 31101 | sendmail 명령어는 관리자 권한이 필요합니다. | 관리자 권한이 없는 사용자가 실행한 경우 |
런타임 오류
해당 사항 없음
설명
sendmail 명령어는 입력되는 레코드마다 이메일을 전송합니다. 입력 레코드의 to, subject, message 필드를 읽어 수신자, 제목, 본문을 구성합니다. cc와 bcc 필드가 있으면 참조 및 숨은 참조 주소를 추가합니다.
필수 필드(to, subject, message)가 없거나 이메일 주소에 도메인 부분(@)이 없으면 전송하지 않고 _sendmail_fail 필드에 오류 사유를 기록합니다. 메일 대기열이 가득 찬 경우에도 _sendmail_fail 필드에 queue full 메시지를 기록합니다.
전송 성공 여부와 관계없이 입력 레코드를 그대로 다음 명령어로 전달합니다.
시스템 SMTP 설정이 필요하므로 웹 콘솔의 시스템 설정에서 SMTP 서버를 먼저 구성해야 합니다.
사용 예
이 사용 예에서 조회하는 WEB_APACHE_SAMPLE 테이블을 준비하려면 쿼리 실습용 데이터를 참고하세요.
-
웹 접근 통계 이메일 전송
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), "건") | sendmailHTTP 메서드별 총 요청 수와 오류 수를 집계하여 각 행을 텍스트 형식의 이메일로 전송합니다.
-
오류 응답 요약을 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 형식의 이메일로 전송합니다.
-
참조 및 숨은 참조 포함
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), "건") | sendmailcc와bcc필드를 포함하여 참조 및 숨은 참조 수신자에게 동시에 전송합니다.
호환성
sendmail 명령어는 소나 4.0 이전 버전부터 제공되었습니다.