리눅스 서버의 쉘상태에서 사용할 수 있는 메일클라이언트 사용법에 대해서 알아봅니다. 윈도우 PC에서는 아웃룩을 사용하듯이 리눅스 쉘상태에서는 mail이라는 클라이언트 프로그램을 사용합니다.
mail 설치
CentOS 6.4 minimal에는 기본적으로 mail 이 설치되어 있지않다.
yum -y install mailx
Dependencies Resolved
=================================================================================
Package Arch Version Repository Size
=================================================================================
Installing:
mailx x86_64 12.4-6.el6 base 234 k
Transaction Summary
=================================================================================
Install 1 Package(s)
메일 보내기
서버사용자에게 메일보내기
현재 리눅스서버의 사용자들 대상으로 mail 명령어의 기본 사용법을 익혀 보자.
nestgoer에게 보낼 메일을 작성한다.
mail nestgoer
# 제목을 입력하고 엔터
Subject: 안녕하십니까?
# 내용을 입력
내가 바로 이 시스템의 관리자이올시다.
하는 일을 잘 돌아가고 있는지요?
현재는 메일시스템을 체크중입니다.
답장 부탁드리옵니다!!
# 메일의 종료는 Ctrl+D
EOT
# Cc는 같이 받을사람(참조자) 없으면 그냥 엔터
Cc: tiffiny
웹메일 사용자에게 메일보내기
mail hahaha@daum.net
이하는 서버사용자에게 메일보내기와 같다.
메일읽기와 메일 읽은 후에 답장
기본적으로 메일은 /var/spool/mail 디렉토리에 ID와 동일한 파일로 저장된다.
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로 시스템에 접속한다.
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 표시가 있다. & 문자 뒤에 메일의 숫자를 이용해 관련 메일을 확인할 수 있다.
&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 와 같이 사용하여 답장할 메일을 직접 지정하여 답장을 보낼수 도 있다.
& r
To: nestgoer@uzuro.com root@uzuro.com
Subject: Re: 안녕하십니까?
root@uzuro.com (root) wrote:
> 내가 바로 이 시스템의 관리자이올시다.
> 하는 일을 잘 돌아가고 있는지요?
> 현재는 메일시스템을 체크중입니다.
> 답장 부탁드리옵니다!!
안녕하십니까!
답장 작성중입니다.
확인해보세요
EOT
&
답장을 확인해보자
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: 안녕하십니까?"
& 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를 입력한다.
& 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 "메일제목" 받을메일주소
echo "System OK" | mail -s "SystemCheck" root@uzuro.com
위와 같이 명령을 실행한 후에 아무런 에러메세지 없이 종료되었다면 메일은 성공적으로 발송된 것이다.
cat 이용
cat 보낼파일명 | mail -s "메일제목" 받을메일주소
cat result_system_check | mail -s "시스템체크 결과" root@uzuro.com
result_system_check 파일에 시스템 체크사항을 자동으로 작성하게 하고 메일을 보내게 만들면 되겠다.
'리눅스 > CentOS' 카테고리의 다른 글
[CentOS] postfix를 이용한 메일서버 구축 (2) | 2013.06.26 |
---|---|
[CentOS] 메일서버 구축시 유의사항 (0) | 2013.06.25 |
[CentOS] Partition 1 does not end on cylinder boundary ( 파티션 1은 실린더 경계에서... (0) | 2013.06.20 |
[CentOS] Quota 사용자 용량 제한 (2) | 2013.06.07 |
[CentOS] sudo 를 이용한 특정 권한 부여하기 (1) | 2013.06.06 |