전자메일을 이용한 작업은 크게 메일 내용 편집, 수신한 메일 내용 보기, 메일 박스에 보관된 수신 메일 관리 등으로 나뉜다. 메일 전송과 수신 기능이 인터넷에서 어떻게 구현되는지 이해하면 좋지만, 이를 몰라도 일반 사용자가 메일 시스템을 사용하는데는 지장은 없다.
메일 편집
- 메일 편집 기능은 메시지를 새로 작성하거나, 수신 메일에 대해 회신하거나 수신 메일을 제3자에게 전달할 때 필요하다.
- 전자 메일을 작성할 때는 전송하는 메시지의 내용뿐 아니라, 송수신자의 메일 주소, 작성 일자, 참조 수신자 같은 다양한 헤더 정보가 포함된다.
- 헤더 정보의 일부는 사용자가 직접 입력해야 하지만, 대부분의 정보는 메일 프로그램의 초기 설정 과정에서 미리 입력한 정보로 자동 대체된다.
- 수신한 메일을 회신할 때는 모든 헤더의 정보가 메일 프로그램에 의해 자동으로 생성된다.
메일 내용 읽기
수신한 메일의 내용이 일반 텍스트로 구성되었으면 메일 프로그램에서 제공하는 기본 기능을 이용해 읽을 수 있다. 그러나 MS 워드, 아래한글처럼 특정 응용 프로그램으로 편집한 첨부 문서는 해당 프로그램과 연결하는 기능이 필요하다.
자신의 PC에 이런 프로그램이 없으면 첨부한 문서를 읽을 수 없다.
수신 메일 관리
수신한 메일을 별도의 메일 박스에 보관하고 관리할 수 있으며, 메일을 삭제하거나 파일 시스템에 보관할 수 있다.
전달 여부 통지
전달 여부 통지 기능은 전송한 메일이 수신자에게 제대로 수신되었는지에 대해 송신자에게 회신하는 용도이다. 이 기능은 두 가지로 나누어 생각할 수 있다.
- 메일 시스템하부 구조의 기술 문제와 관련된 것으로, 네트워크 오류나 수신 시스템의 문제 때문에 메일이 전달되지 못하는 비정상적인 상황이 발생하면 송신자에게 그 사실을 통지한다.
- 전자 메일 응용 프로그램의 기능으로 수신자가 수신 확인을 회신하도록 옵션을 설정함으로써 메일의 수신 여부를 확인한다.
메일 전달
- 메일 송신자가 전송한 메일은 목적지 호스트까지 안전하게 전달되어야 한다.
- 전달 과정에서 여러 중개 호스트를 거칠 수 있으므로 호스트 사이의 데이터 전달은 TCP를 사용한다.
메일 처리
- 메일을 전송하려면 수신자의 메일 주소와 전송할 메일 내용을 작성해야 한다.
- 메일 내용은 기본적으로 텍스트로 작성하므로 메일 프로그램에서 제공하는 텍스트 편집기로 작업한다. 그리고 작성한 메일은 메일 프로그램에서 자동으로 전송 처리해준다.
<로그인 이름>@<메일 서버 이름>
1 2
- 호스트에 등록된 사용자 구분자, 일반적으로 메일이 저장되는 메일 박스의 파일명으로 사용된다.
- 메일이 전송되는 최종 목적지 호스트의 DNS 이름
메일 형식
- 메일 내용은 ASCII 코드를 기반으로 한 텍스트 형식으로 정의되지만, 멀티미디어 데이터 사용이 일반화 되면서 이를 수용하도록 기능이 확장되었다.
- 메일 내용은 메시지 헤더와 메시지 내용으로 구성되며, 공백 한 줄로 구분된다.
- 메일 제목, 수신 날짜 등의 정보는 메시지 헤더에 해당되며, 메시지 내용은 표시되지 않도록 아웃룩이 설정되어있으며, 메일 사용자가 전송한 데이터는 메시지 내용에 포함한다.
- 메일 제목, 수신 날짜 같은 사용자 헤더와 별도로 메일을 목적지로 전송하는 과정에서 필요에 따라 시스템 헤더 정보를 추가한다.
사용자 헤더는 '<헤더이름>:<헤더 값>' 형식으로 표현되며, 일반 사용자와 직접 관계되는 주요 헤더는 다음과 같다.
헤더 | 의미 |
To | 수신자의 전자 메일 주소 |
CC | 참조 수신자의 전자 메일 주소 (메일 내용에 포함) |
BCC | 참조 수신자의 전자 메일 주소 (메일 내용에 미포함) |
From | 송신자의 이름 |
Sender | 송신자의 전자 메일 주소 |
Date | 송신자가 메시지를 전송한 시간 |
Subject | 간단하게 요약된 메시지 제목 |
MIME
- 컴퓨터 사용 환경에 텍스트 기반에서 멀티미디어 환경으로 확대되면서 전자 메일 시스템도 새로운 형식의 데이터를 수용할 수 있도록 확장 작업이 이루어졌다.
- 특히 7비트 형식의 ASCII 코드가 지원하지 않는 각국의 언어와 이진 데이터 형식의 실행 파일, 영상, 음성 등은 데이터를 전송하려면 기능 확장이 반드시 필요하다.
- MIME(Multipurpose Internet Mail Extensions)은 이러한 필요성에 의해 도입되어 오늘날 전자 메일 환경에서 보편적으로 사용한다.
- MIME은 기존에 사용하던 ASCII 기반의 메시지 형식을 그대로 유지하면서, 메시지 내용에 멀티미디어 데이터 인코딩 방법을 추가로 정의한다.
- 송신자의 메일을 전송하기 전에 비-ASCII 데이터를 ASCII 데이터로 변환해야 하며, 수신자는 원래 형식으로 역변환해야 한다.
- MIME 기능을 사용해 메일 송신자가 전송하려는 비-ASCII 형식의 데이터를 미리 ASCII 형식으로 변환한다.
- 메일 수신자는 반대로 ASCII 형식의 데이터를 원래의 데이터 형식으로 역변환하여 사용자 화면에 보여준다.
- 이와 같은 변환이 필요한 이유는 전자 메일을 전송하는 SMTP 프로토콜이 실행 파일 등과 같은 이진 데이터를 전송하지 못하기 때문이다.
- 결과적으로 인터넷으로 전송되는 모든 메일 데이터는 여전히 ASCII 형식으로 전송된다.
- MiME에 의한 멀티미디어 데이터의 지원은 송수신자의 양 끝단에서 이루어진다.
- MIME은 다양한 종류의 메일 메시지를 표현하기 위해 5개의 헤더 필드를 정의한다.
헤더 | 의미 |
MIME-Version | MIME 버전 |
Content-Description | 메시지 내용 설명 |
Content-Id | 구분자 |
Content-Transfer-Encoding | 전송 시 메시지 내용의 형식 (인코딩 방법 정의) |
Content-Type | 메시지 유형 |
메시지의 데이터 종류를 구분하기 위한 Content-type 필드는 타입과 서브타입으로 나뉘며,
<타입>/<서브타입:매개변수>'형식으로 표기한다.
타입 | 서브타입 | 설명 |
Text | Plain | 7비트의 ASCII 형식으로 정의 MIME 변환이 필요하지 않은 텍스트 데이터 |
Image | Gif | 정지 영상 정보를 전송하는 데 사용 |
Jpeg | ||
Audio | Basic | 음성 메시지 지원 |
Video | Mpeg | 동영상 정보 지원 |
Application | Octet-stream | MIME에서 직접 지원하지 않는 데이터 종류를 위해 정의 - Octet-stream: 단순히 바이트의 연속으로 해석됨 - PostScript: 어도비 사의 포스트스크립트 형식 지원 |
PostScript | ||
Message | Rfc822 | 메일 메시지에 다른 전자 메일을 포함시킬 때 사용 ex. 메일 포워딩 |
Partial | ||
External-body | ||
Multipart | Mixed | 메시지 내용에 독립적인 부분을 여러 개 포함하도록 지원 각 부분의 시작과 끝을 명확히 구분할 수 있어야 함 |
Parallel | ||
Digest | ||
Alternative |
Reference
쉽게 배우는 데이터 통신과 컴퓨터 네트워크
https://soso-hyeon.tistory.com/113
[쉽게 배우는 데이터 통신과 네트워크] CH15. 전자 메일
01 전자 메일 사용자 환경메일 편집: 메시지를 새로 작성하거나, 수신 메일에 대해 회신하거나 수신 메일을 제3자에게 전달할 때 필요하다.메일 내용 읽기: 수신한 메일의 내용이 일반 텍스트로
soso-hyeon.tistory.com
'CS > Network' 카테고리의 다른 글
[Chapter 15] 전자 메일 (SMTP) (0) | 2025.02.19 |
---|---|
[Chapter 15] 전자 메일 (전자 메일 시스템 구조) (0) | 2025.02.19 |
[Chapter 14] DNS (DNS 프로토콜) (0) | 2025.02.18 |
[Chapter 14] DNS (네임 서버와 해석기) (0) | 2025.02.18 |
[Chapter 14] DNS (도메인 네임 스페이스) (0) | 2025.02.18 |