리눅스/ 우분투 서버 기본 mail 클라이언트 사용법
메일 접속 명령어
mail -u 메일계정
mail -u 메일계정
t 메일번호 : 메일 읽기
h : 메세지 리스트 출력
h : 메일박스 첫 리스트 출력
h 2 : 2번부터 출력
n : 다음 메일
e 메일번호 : ex명령 모드로 메일 편집
f 메일번호 : 지정된 리스트 출력
f 1-3
d 메일번호 : 메일 삭제
d 1-3
s 메일번호 : 지정된 메일을 파일로 저장
s 1 mail.txt
u 메일번호 : 삭제된 메일 복구
u 1 : (q를 실행하기 전까지 가능)
R 메일번호 : 해당 번호 메일 보낸 사람에게 담방 메일 보내기
r 메일번호 : 지정된 메일에 대해 모든 참조자를 포함하여 답변 보냄
pre 메일번호 : make messages go back to /usr/spool/mail
m 유저 리스트 : 원하는 유저에게 메일을 보냄
q : mail 모드에서 모든 상태를 저장후 종료
mail 모드에서 한번 읽었던 메일은 q명령으로 빠져나갈 경우 메일박스에서 삭제되고 mbox 파일로 저장됨
x : mail 초기 상태로 돌려 놓고 나감
! : 쉘 명령을 실행
!pwd : pwd 명령을 실행
cd 디렉토리 : 디렉토리 이동
메일 보내기
서버사용자에게 메일보내기
현재 리눅스서버의 사용자들 대상으로 mail 명령어의 기본 사용법을 익혀 보자.
nestgoer에게 보낼 메일을 작성한다.
BASH
mail nestgoer
# 제목을 입력하고 엔터
Subject: 안녕하십니까?
# 내용을 입력
내가 바로 이 시스템의 관리자이올시다.
하는 일을 잘 돌아가고 있는지요?
현재는 메일시스템을 체크중입니다.
답장 부탁드리옵니다!!
# 메일의 종료는 Ctrl+D
EOT
# Cc는 같이 받을사람(참조자) 없으면 그냥 엔터
Cc: tiffiny
웹메일 사용자에게 메일보내기
BASH
mail hahaha@daum.net
이하는 서버사용자에게 메일보내기와 같다.
메일읽기와 메일 읽은 후에 답장
기본적으로 메일은 /var/spool/mail 디렉토리에 ID와 동일한 파일로 저장된다.
BASH
ls -l /var/spool/mail
합계 8
-rw-rw---- 1 nestgoer mail 1312 2013-06-25 19:11 nestgoer
-rw------- 1 root mail 2316 2013-06-03 18:06 root
자기 계정으로 도착한 메일은 mail 명령어를 사용하여 확인할 수 있다. 위에서 보낸 메일의 받을 사람인 nestgoer로 시스템에 접속한다.
BASH
mail
Heirloom Mail version 12.4 7/29/08. Type ? for help.
"/var/spool/mail/nestgoer": 2 messages 1 new
1 root Tue Jun 25 19:04 21/577 "HELLO Nesgoer!"
>N 2 root Tue Jun 25 19:11 21/735 "안녕하십니까?"
&
두 개의 메일이 와 있고 새로운 메일을 알리는 >N 표시가 있다. & 문자 뒤에 메일의 숫자를 이용해 관련 메일을 확인할 수 있다.
BASH
&2
Message 2:
From root@uzuro.com Tue Jun 25 19:11:17 2013
Return-Path:
X-Original-To: nestgoer
Delivered-To: nestgoer@uzuro.com
Date: Tue, 25 Jun 2013 19:11:17 +0900
To: nestgoer@uzuro.com
Subject: 안녕하십니까?
User-Agent: Heirloom mailx 12.4 7/29/08
Content-Type: text/plain; charset=utf-8
From: root@uzuro.com (root)
Status: R
내가 바로 이 시스템의 관리자이올시다.
하는 일을 잘 돌아가고 있는지요?
현재는 메일시스템을 체크중입니다.
답장 부탁드리옵니다!!
&
메일을 읽은 상태에서 r 혹은 R을 입력하면 답장을 작성할 수 있다. 또는 메일목록상태에서 & R 2 와 같이 사용하여 답장할 메일을 직접 지정하여 답장을 보낼수 도 있다.
BASH
& r
To: nestgoer@uzuro.com root@uzuro.com
Subject: Re: 안녕하십니까?
root@uzuro.com (root) wrote:
> 내가 바로 이 시스템의 관리자이올시다.
> 하는 일을 잘 돌아가고 있는지요?
> 현재는 메일시스템을 체크중입니다.
> 답장 부탁드리옵니다!!
안녕하십니까!
답장 작성중입니다.
확인해보세요
EOT
&
답장을 확인해보자
BASH
mail
Heirloom Mail version 12.4 7/29/08. Type ? for help.
"/var/spool/mail/root": 6 messages 2 new
1 nestgoer@uzuro.com Mon Jun 3 14:19 17/590 "*** SECURITY informati"
2 nestgoer@uzuro.com Mon Jun 3 18:05 17/590 "*** SECURITY informati"
3 nestgoer@uzuro.com Mon Jun 3 18:06 17/590 "*** SECURITY informati"
4 nestgoer@uzuro.com Mon Jun 3 18:06 17/590 "*** SECURITY informati"
>N 5 아무개 Tue Jun 25 19:29 28/981 "Re: 안녕하십니까?"
BASH
& 5
Message 5:
From nestgoer@uzuro.com Tue Jun 25 19:29:18 2013
Return-Path:
X-Original-To: root@uzuro.com
Delivered-To: root@uzuro.com
Date: Tue, 25 Jun 2013 19:29:18 +0900
To: root@uzuro.com, nestgoer@uzuro.com
Subject: Re: 안녕하십니까?
User-Agent: Heirloom mailx 12.4 7/29/08
Content-Type: text/plain; charset=utf-8
From: nestgoer@uzuro.com (아무개)
Status: R
root@uzuro.com (root) wrote:
> 내가 바로 이 시스템의 관리자이올시다.
> 하는 일을 잘 돌아가고 있는지요?
> 현재는 메일시스템을 체크중입니다.
> 답장 부탁드리옵니다!!
안녕하십니까!
답장 작성중입니다.
확인해보세요
종료는 q를 입력한다.
BASH
& q
mail 명령어상태에서 사용할 수 있는 명령어들
& ? - 도움말
? 라고 입력하면 mail 실행상태에서 사용할 수 있는 명령어와 도움말을 보여준다.
& h - 메일목록 확인하기
h 라고 입력하면 현재 mbox에 저장된 메일리스트, 즉 메일목록(헤드)만을 출력한다.
& q - 메일 종료
q 라고 입력하면 mail 실행상태에서 빠져나온다.
& n - 다음 메일 확인
n 라고 입력하면 현재 메일의 다음메일을 확인한다.
& !쉘명령어 - 쉘명령어 실행
!ls -l /etc와 같이 입력하면 mail 명령어상태에서 지정된 쉘명령어를 실행해준다.
& r 메일번호 - 답장을 보냄
r 메일번호 라고 입력하면 지정된 메일에 대하여 보낸 사람과 지정된 모든 받을 사람에게 답장을 보낸다.
& d 메일번호 - 메일을 mbox에서 삭제
d 메일번호 라고 입력하면 지정된 메일번호에 해당하는 메일을 mbox에서 삭제한다.
& u 메일번호 - 삭제시킨 메일을 복원
u 메일번호 라고 입력하면 삭제시킨 메일을 원상태로 복원한다. 즉, 삭제하지 않는다.
& s 메일번호 파일명 - 메일을 지정된 파일명에 저장
s 메일번호 파일명 이라고 입력하면 지정된 메일번호에 해당하는 메일을 지정된 파일명에 저장한다. 이때 저장위치는 계정의 홈디렉토리이다.
& m 사용자계정리스트 - 다중메일 보내기
m ID ID 라고 입력하면 메일을 받을 사용자들을 지정하여 메일을 보낸다.
& cd 디렉토리경로 - 디렉토리위치 변경
cd 디렉토리 라고 입력하면 mail 명령어상태에서 디렉토리위치를 변경한다.
특정 파일내용을 mail 명령어를 이용하여 메일로 보고 받기
실무와 관련해서 접목하면 될것 같다. Cron과 연동해서...!
echo 이용
echo "보낼내용" | mail -s "메일제목" 받을메일주소
BASH
echo "System OK" | mail -s "SystemCheck" root@uzuro.com
위와 같이 명령을 실행한 후에 아무런 에러메세지 없이 종료되었다면 메일은 성공적으로 발송된 것이다.
cat 이용
cat 보낼파일명 | mail -s "메일제목" 받을메일주소
BASH
cat result_system_check | mail -s "시스템체크 결과" root@uzuro.com
result_system_check 파일에 시스템 체크사항을 자동으로 작성하게 하고 메일을 보내게 만들면 되겠다.