[유닉스] 이메일 보내기


이메일 보내기

  • mailx 명령을 이용하여 메일을 작성하여 보낼 수 있다.
  • mailx의 내부 명령을 이용하여 메일을 저장하고, 삭제하며 복구할 수 있다.

mailx 명령 (또는 mail 명령)

  • 메일을 보내거나 읽음
  • 형식 : mailx [-s] [이메일주소]
  • 옵션
    • -s : 메일 제목 지정
  • 사용 예 : mailx, mailx user2@cc
  • 이메일주소를 지정하면 메일 보내는 기능, 지정하지 않으면 메일 읽는 기능 수행


메일 보내기

  • 메일 구성 : 수신자의 주소, 제목, 본문 내용
  • 수신자의 주소 : 같은 시스템에 등록되어 있는 내부 사용자의 경우 사용자명만 사용, 다른 시스템에 있는 외부 사용자의 경우 “사용자명@호스트명” 사용
  • 내부 사용자에게 메일 보내기
    • Subject: 에는 메일의 제목 입력. 제목 입력 후 Enter 키를 입력하면 메일 본문 입력하는 모드
    • 메일 본문을 입력하고 ^D(Ctrl+D)를 입력하면 메일이 자동으로 전송됨
$ mailx user1
Cc:
Subject: Hello
mail test.
bye.
^D
$

  • 같은 메일을 여러 명에게 보낼 때는 메일 수신자를 여러 명 지정
$ mailx user1 herbcandle@naver.com
  • 메일의 내용을 파일로 작성해 놓았으면, 표준 입력 방향 전환을 이용
$ mailx user1 < mail.txt
  • 메일 제목을 지정하고자 할 때 –s 옵션 사용
$ mailx –s Hi~~ user1
  • 메일 제목에 공백이 있을 경우, 큰 따옴표나 작은 따옴표 사용
$ mailx –s “test mail” user1
$ mailx –s ‘test mail’ user1
  • 메일 작성 도중 취소하고자 할 때 ^C 키 입력
    • 취소된 메시지는 홈 디렉토리에 dead.letter라는 이름으로 저장, 나중에 다시 사용 가능

메일 작성 도중 이스케이프 명령 사용

  • 이스케이프 명령은 모두 각 줄의 처음에 물결문자(~, 틸드)로 시작
  • ~p 명령 : 지금까지 작성한 메일의 내용을 보는 명령
$ mailx –s Hi~~ herbcandle@naver.com
Hello~~! How are you today?
~p
Message contains:
To: herbcandle@naver.com
Subject: Hi~~
Hello~~! How are you today?
(continue)

  • ~ 문자는 이스케이프 명령의 시작을 나타내기 때문에, 본문 내용에 ~ 문자를 입력하고 싶을 때는 연속해서 두 번 입력해야 함
~~hi!

메일 읽기

  • 시스템에 로그인하면 메일 명령을 실행시키지 않아도 도착한 메일이 있는지 시스템이 자동 점검
  • 사용자에게 메일이 도착하면 새로운 메일이 도착했음을 알리는 메시지가 자동 출력됨
  • 도착한 메일은 자동적으로 기본 메일 박스(/var/mail)에 사용자 이름의 디렉토리 아래에 저장됨
  • 메일이 있을 경우 로그인하자마자 다음 메시지를 보게 됨
You have new mail.
  • 메일이 없을 경우 mailx 명령을 입력하면 다음 메시지 출력
$ mailx
No mail for user1
$
  • 메일 읽기
    • 메일을 읽기 위해 mailx 명령을 입력하면 다음 화면이 출력됨
    • mailx의 프롬프트는 ‘?’나 ‘&’ 등 유닉스 버전마다 다름
    • 첫 번째 줄은 mailx 프로그램의 버전 정보. ‘?’를 이용해 매뉴얼을 참조할 수 있음
    • 두 번째 줄은 원본 메일이 저장되어 있는 경로명
    • 두 개의 메일이 새로 도착되어 있음을 나타냄
    • 이러한 메일의 간략한 내용을 헤더 정보라고 함
$ mailx
mailx version 5.0 Type ? for help.
“/var/mail/user1” : 2messages 2 new
>N 1 user2 Tue June 23 15:41 15/437 test mail
N 2 herbcandle@naver.com Tue June 23 15:43 14/423 Hello
?

  • 메일 번호 ‘1’을 입력하면 첫 번째 메일을 읽을 수 있음
  • 다음 메일을 읽으려면 ‘n’이나 ‘+’ 기호 사용
  • 메시지의 처음 몇 줄만 읽으려면 to(top) 명령 사용
  • 메일을 읽은 다음 처음에 보았던 요약된 메일 내용을 다시 보려면 ‘h’를 입력


답장 보내기

  • 메일을 읽고 난 후 답장을 보내려면 메일 프롬프트에 r이나 R 입력
  • 일반적인 메일 작성하듯이 답장을 쓰면 됨
  • 내용 작성 후 ^D 입력으로 완료
? 2
Message: 2
From user1@Ubuntu Tue June 23 15.45:20 2015
Date: Tue, June 23 2015 15.45:20 +0900 (KST)
From: herbcandle@naver.com
To: user1@Ubuntu
Subject: Hello
send mail test.
bye.
? r
To: herbcandle@naver.com
Subject: Re: Hello
reply test
^D
?
$ cat mail.txt
Hi~!
$ mailx herbcandle@naver.com
Cc:
Subject: Hi~~
~r mail.txt
“mail.txt” 1/5
bye~bye~
^D
$

메일 내용 저장, 삭제

메일 저장

  • 메일을 본 후 방금 읽은 메일의 본문만 저장하고자 할 때는 프롬프트(& 또는 ?, 유닉스 버전에 따라 다름)에 w 명령으로 파일에 저장
? w mailbox
  • 머리말을 포함하여 전체 메일 내용을 저장하려면 s 명령 사용
? s mailbox
  • 저장한 메일을 읽으려면 –f 옵션 사용
$ mailx –f mailbox

메일 삭제

  • 메일 삭제하고 복구하기
    • mailx로 읽은 메일은 사용자의 홈 디렉토리에 있는 메일 박스에 자동 저장
    • 정기적으로 지우지 않으면, 메일이 계속 쌓임
    • d 명령으로 삭제
    • dp 명령은 메일을 지우고 다음 메일을 보여줌
    • 잘못 삭제된 메일은 u 명령으로 복구

메일 종료

  • mailx를 종료하려면 q(quit)나 x(exit) 명령 사용
  • q 명령으로 종료하면 읽은 메일과 읽지 않은 메일이 자동 저장됨
    • 읽지 않은 메일은 “/var/mail/사용자명”에 남고, 읽은 메일은 홈 디렉토리의 mbox에 저장됨
  • x 명령으로 종료하면 현재의 메일박스의 상태를 변경시키지 않고 그대로 남겨둠