ioerror

mail - 메일 송수신 및 관리 명령어 본문

OS

mail - 메일 송수신 및 관리 명령어

반응형

mail

mail - Mail utility

mail 명령어는 시스템 내부 사용자 간에 전자우편을 주고받거나, 시스템으로부터 발송된 안내 및 경고 메일을 확인하고 관리하는 터미널 기반의 전자우편 사용자 에이전트(MUA)이다.

1. 명령어 용도

  • 시스템 관리자가 cron 데몬에 의해 자동 실행된 작업의 결과 보고서나 시스템 장애 관련 로그 메일을 터미널에서 직접 확인할 때 사용된다.
  • 쉘 스크립트 내부에서 특정 조건이나 오류가 발생했을 때 관리자의 외부 이메일 주소 또는 로컬 계정으로 경고 알림을 자동 발송하는 용도로 자주 활용된다.

2. 명령어 서식

mail [옵션] [사용자_주소]

 

3. 명령어 옵션

옵션 설명 사용가능 OS 및 쉘
-s [제목] 메일의 제목(Subject)을 지정한다. -
-c [주소] 참조(CC) 수신자 주소를 지정한다. -
-b [주소] 숨은 참조(BCC) 수신자 주소를 지정한다. -
-f [파일] 지정한 메일함 파일(Mbox)을 열어 메일을 확인한다. -
-u [사용자] 특정 사용자의 메일함을 읽는다. (루트 권한 필요) -
-v 메일 전송 과정의 상세한 디버깅 정보를 출력한다. -
-a [파일] 이메일에 파일을 첨부한다. [GNU/Linux]
-r [주소] 보내는 사람(From)의 주소를 강제로 지정한다. [GNU/Linux]
-i 대화형 모드에서 인터럽트 신호를 무시한다. [BSD] [macOS]

명령어 옵션 사용시 결과 예시

 
# 1. 텍스트 내용을 본문으로 하여 제목과 함께 메일 발송
echo "서버 점검이 완료되었습니다." | mail -s "점검 완료 보고" admin@example.com
# 결과: admin@example.com 계정으로 제목과 본문이 포함된 메일이 전송됨

# 2. 로그 파일을 본문으로 전달하며 참조자 지정 및 상세 정보 출력
mail -s "시스템 로그 분석" -c manager@example.com -v user@example.com < /var/log/syslog
# 결과: 상세 전송 프로세스(SMTP 연결 과정 등)가 화면에 출력되며 메일이 발송됨

# 3. 백업 압축 파일을 첨부하여 메일 발송
mail -s "일일 백업 파일" -a /backup/daily_db.tar.gz admin@example.com < /dev/null
# 결과: 본문 없이 daily_db.tar.gz 파일이 첨부된 상태로 메일이 전송됨 `[GNU/Linux]`

 

4. 명령어 특이사항(유의사항)

  • 현대의 많은 리눅스 배포판에서는 전통적인 mail 명령어 대신 기능이 확장된 mailx 또는 s-nail 패키지를 기본적으로 제공하며, mail 명령어 입력 시 이를 심볼릭 링크로 연결하여 실행하도록 구성되어 있다.
  • 외부 메일 서버(Gmail, Outlook 등)로 메일을 정상적으로 발송하기 위해서는 로컬 시스템에 postfix, sendmail 등과 같은 메일 전송 에이전트(MTA)가 사전 설치되어 있고 외부 릴레이 설정이 완료되어 있어야 한다.
  • 메일 작성 도중 줄 바꿈 후 . (점 하나)만 입력하고 엔터를 누르거나, Ctrl+D를 입력하면 작성이 완료되고 전송 단계로 진입한다.

 

반응형
Comments