리눅스/ 우분투 서버 기본 mail 클라이언트 사용법



메일 접속 명령어
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 파일에 시스템 체크사항을 자동으로 작성하게 하고 메일을 보내게 만들면 되겠다.





다음 글 이전 글
댓글 쓰기
comment url