Post Office Protocol

Trong điện toán, **Post Office Protocol,** viết tắt: **POP** là một giao thức tiêu chuẩn Internet ở tầng ứng dụng được sử dụng bởi email khách hàng để lấy e-mail từ máy chủ thư.

POP phiên bản 3 (**POP3**) là phiên bản thường được sử dụng phổ biến.

## Mục đích
Các Post Office Protocol cung cấp truy cập thông qua một giao thức Internet mạng (IP) cho một ứng dụng người dùng vào hộp thư *(maildrop)* duy trì trên một máy chủ mail. Giao thức hỗ trợ tải xuống và xóa các hoạt động cho tin nhắn. POP3 kết nối tới người dùng, truy xuất tất cả các tin nhắn, lưu trữ chúng trên máy người dùng và cuối cùng xóa chúng khỏi máy chủ. Thiết kế này của POP và quá trình của nó được thúc đẩy bởi nhu cầu của người sử dụng chỉ có kết nối Internet tạm thời, chẳng hạn như truy cập dial-up, cho phép những người dùng đó tải email khi kết nối, và sau đó để xem và vận dụng các thư nhận được khi ngoại tuyến.

Người sử dụng POP3 cũng có các lựa chọn khác nhau như để lại thư trên máy chủ sau khi tải xuống. Ngược lại, Giao thức truy cập thư trên Internet (IMAP) được thiết kế để giữ lại tất cả các tin nhắn trên máy chủ cho phép quản lý với nhiều ứng dụng khách hàng và hỗ trợ cả hai chế độ hoạt động được kết nối (*trực tuyến*) và ngắt kết nối (*ngoại tuyến*).

Một máy chủ POP3 lắng nghe số cổng nổi tiếng 110 cho các yêu cầu dịch vụ. Giao tiếp được mã hóa cho POP3 được yêu cầu sau khi bắt đầu giao thức, sử dụng lệnh STLS, nếu được hỗ trợ, hoặc bởi POP3S, kết nối với máy chủ bằng Bảo mật lớp vận chuyển (TLS) hoặc Lớp cổng bảo mật (SSL) trên cổng TCP nổi tiếng số 995.

Các tin nhắn có sẵn cho người dùng được xác định khi phiên POP3 mở hộp thư, và được xác định bằng số tin nhắn cục bộ cho phiên đó hoặc, tùy ý, bởi một mã định danh duy nhất được gán cho tin nhắn bởi máy chủ POP. Mã định danh duy nhất này là vĩnh viễn và duy nhất cho hộp thư và cho phép khách hàng truy cập cùng một thư trong các phiên POP khác nhau. Thư được lấy và đánh dấu để xóa bằng số tin nhắn. Khi khách hàng thoát khỏi phiên, thư được đánh dấu để xóa sẽ bị xóa khỏi hộp thư.

## Lịch sử
Phiên bản đầu tiên của Post Office Protocol, POP1, đã được chỉ định trong RFC 918 (1984). POP2 đã được chỉ định trong RFC 937 (1985).

POP3 là phiên bản được sử dụng phổ biến nhất. Nó có nguồn gốc từ RFC 1081 (1988) nhưng đặc điểm kỹ thuật gần đây nhất là RFC 1939, được cập nhật với cơ chế mở rộng (RFC 2449) và cơ chế xác thực trong RFC 1734.

Mặc dù đặc tả POP3 ban đầu chỉ hỗ trợ cho người dùng không mã hóa / cơ chế đăng nhập  PASS hoặc kiểm soát truy cập Berkeley .rhosts, hôm nay POP3 hỗ trợ một số phương thức xác thực để cung cấp các mức độ bảo vệ khác nhau chống lại truy cập bất hợp pháp vào e-mail của người dùng. Hầu hết được cung cấp bởi các cơ chế mở rộng POP3. Các máy khách POP3 hỗ trợ các phương thức xác thực SASL thông qua tiện ích mở rộng AUTH. MIT Project Athena cũng sản xuất một phiên bản Kerberized. [rfc:1460 RFC 1460 đã] giới thiệu APOP vào giao thức cốt lõi. APOP là một giao thức thử thách / phản hồi sử dụng hàm băm MD5 nhằm tránh các cuộc tấn công phát lại và tiết lộ bí mật được chia sẻ. Các khách hàng triển khai APOP bao gồm Mozilla Thunderbird, Opera Mail, Eudora, KMail, Novell Evolution, RimArts ' Becky!, Windows Live Mail, PowerMail, Apple Mail và Mutt. RFC 1460 đã bị RFC 1725 lỗi thời, đến lượt RFC 1939 bị lỗi thời.

POP4 chỉ tồn tại dưới dạng một đề xuất không chính thức thêm quản lý thư mục cơ bản, hỗ trợ tin nhắn nhiều phần, cũng như quản lý cờ tin nhắn để cạnh tranh với IMAP; tuy nhiên, sự phát triển của nó đã không tiến triển kể từ năm 2003.

## Phần mở rộng và thông số kỹ thuật
Một cơ chế mở rộng đã được đề xuất trong RFC 2449 để phù hợp với các tiện ích mở rộng chung cũng như thông báo hỗ trợ theo cách có tổ chức cho các lệnh tùy chọn, chẳng hạn như TOP và UIDL. RFC không có ý định khuyến khích các tiện ích mở rộng và khẳng định rằng vai trò của POP3 là cung cấp hỗ trợ đơn giản cho các yêu cầu chủ yếu là tải xuống và xóa khi xử lý hộp thư.

Các phần mở rộng được gọi là các khả năng và được liệt kê bằng lệnh CAPA. Ngoại trừ APOP, các lệnh tùy chọn được bao gồm trong bộ khả năng ban đầu. Theo sự dẫn đầu của ESMTP (RFC 5321), các khả năng bắt đầu bằng dấu X biểu thị khả năng cục bộ.

### Bắt đầu
Tiện ích mở rộng STARTTLS cho phép sử dụng Bảo mật lớp vận chuyển (TLS) hoặc Lớp cổng bảo mật (SSL) để đàm phán bằng lệnh *STLS*, trên cổng POP3 tiêu chuẩn, thay vì thay thế. Thay vào đó, một số máy khách và máy chủ sử dụng phương thức cổng thay thế, sử dụng cổng TCP 995 (POP3S).

### SDPS
Demon Internet đã giới thiệu các tiện ích mở rộng cho POP3 cho phép nhiều tài khoản trên mỗi tên miền và được gọi là *Dịch vụ POP3 quay số tiêu chuẩn* (SDPS).  Để truy cập từng tài khoản, tên người dùng bao gồm tên máy chủ, như *john @ hostname* hoặc *john + hostname*.

Google Apps sử dụng cùng một phương pháp.

### Kerberized Post Office Protocol
Trong điện toán, các máy khách e-mail cục bộ có thể sử dụng **Kerberized Post Office Protocol** (**KPOP**), giao thức chuẩn Internet của lớp ứng dụng, để lấy e-mail từ máy chủ từ xa qua kết nối TCP / IP. Giao thức KPOP dựa trên giao thức POP3 - khác ở chỗ nó bổ sung bảo mật Kerberos và nó chạy theo mặc định qua cổng TCP số 1109 thay vì 110. Một triển khai phần mềm máy chủ thư được tìm thấy trong máy chủ Cyrus IMAP.

## Ví dụ phiên
Hộp thoại phiên POP3 sau đây là một ví dụ trong RFC 1939: 
  S: 
 C: 
 S: + OK máy chủ POP3 đã sẵn sàng 
 C: APOP mrose c4c9334bac560ecc979e58001b3e22fb
 S: + OK mailrose có 2 tin nhắn (320 octet)
 C: STAT
 S: + OK 2 320
 C: DANH SÁCH
 S: + OK 2 tin nhắn (320 octet)
 S: 1 120
 S: 2 200
 S:.
 C: RETR 1
 S: + OK 120 octet
 S: 
 S:.
 C: GIAO 1
 S: + Đã xóa tin nhắn 1
 C: RETR 2
 S: + OK 200 octet
 S: 
 S:.
 C: GIAO 2
 S: + OK tin nhắn 2 đã bị xóa
 C: QUIT
 S: + OK dewey máy chủ POP3 đang đăng xuất (hộp thư trống)
 C: 
 S:  
Các máy chủ POP3 không có lệnh APOP tùy chọn mong muốn máy khách đăng nhập bằng lệnh USER và PASS: 
  C: NGƯỜI DÙNG
 S: + OK Người dùng chấp nhận
 C: tanstaaf
 S: + OK Pass được chấp nhận

## Triển khai máy chủ

* Apache James
* Citadel/UX
* Courier Mail Server
* Cyrus IMAP server
* Dovecot
* Eudora Internet Mail Server
* HMailServer
* Ipswitch IMail Server
* Kerio Connect
* Mailtraq
* Nginx
* qmail-pop3d
* Qpopper
* RePOP
* UW IMAP
* WinGate
* Zimbra

## So sánh với IMAP
Giao thức truy cập thư trên Internet (IMAP) là một giao thức truy cập hộp thư thay thế và gần đây hơn. Điểm nổi bật của sự khác biệt là:

* POP là một giao thức đơn giản hơn, giúp thực hiện dễ dàng hơn. 
* POP chuyển tin nhắn từ máy chủ email sang máy tính cục bộ, mặc dù thường có một tùy chọn để lại các tin nhắn trên máy chủ email. 
* IMAP mặc định để lại tin nhắn trên máy chủ email, chỉ cần tải xuống một bản sao cục bộ. 
* POP coi hộp thư là một cửa hàng duy nhất và không có khái niệm về thư mục 
* Ứng dụng khách IMAP thực hiện các truy vấn phức tạp, yêu cầu máy chủ cho các tiêu đề hoặc nội dung của các thư được chỉ định hoặc tìm kiếm các thư đáp ứng các tiêu chí nhất định. Các thư trong kho lưu trữ thư có thể được đánh dấu bằng các cờ trạng thái khác nhau (ví dụ: "đã xóa" hoặc "đã trả lời") và chúng sẽ ở trong kho cho đến khi được người dùng xóa một cách rõ ràng, có thể không đến phiên sau. Tóm lại: IMAP được thiết kế để cho phép thao tác các hộp thư từ xa như thể chúng là cục bộ. Tùy thuộc vào triển khai máy khách IMAP và kiến trúc thư mà người quản lý hệ thống mong muốn, người dùng có thể lưu thư trực tiếp trên máy khách hoặc lưu chúng trên máy chủ hoặc được lựa chọn thực hiện. 
* Giao thức POP yêu cầu máy khách hiện được kết nối là máy khách duy nhất được kết nối với hộp thư. Ngược lại, giao thức IMAP đặc biệt cho phép truy cập đồng thời bởi nhiều khách hàng và cung cấp các cơ chế để khách hàng phát hiện các thay đổi được thực hiện đối với hộp thư bằng các máy khách khác, được kết nối đồng thời. Xem ví dụ RFC3501 phần 5.2 trong đó trích dẫn cụ thể "truy cập đồng thời vào cùng một hộp thư bởi nhiều tác nhân" làm ví dụ. 
* Khi POP truy xuất một tin nhắn, nó sẽ nhận được tất cả các phần của nó, trong khi giao thức IMAP4 cho phép khách hàng truy xuất bất kỳ phần MIME riêng lẻ nào - ví dụ: truy xuất văn bản đơn giản mà không cần truy xuất các tệp đính kèm. 
* IMAP hỗ trợ cờ trên máy chủ để theo dõi trạng thái tin nhắn: ví dụ: tin nhắn đã được đọc hay chưa, trả lời, chuyển tiếp hoặc xóa.

## Tài liệu RFC

* RFC 918 - Post Office Protocol
* RFC 937 - Post Office Protocol - Phiên bản 2
* RFC 1081 - Post Office Protocol - Phiên bản 3
* RFC 1939 - Post Office Protocol - Phiên bản 3 (STD 53)
* RFC 1957 - Một số quan sát về việc triển khai Post Office Protocol (POP3)
* RFC 2195 - IMAP/POP AUTHorize Extension for Simple Challenge/Response 
* RFC 2384 - Lược đồ URL POP 
* RFC 2449 - Cơ chế mở rộng POP3 
* RFC 2595 - Sử dụng TLS với IMAP, POP3 và ACAP 
* RFC 3206 - Mã phản hồi của SYS và AUTH POP 
* RFC 5034 - Cơ chế xác thực đơn giản và lớp bảo mật của Post Office Protocol (POP3)
* RFC 8314 - Cleartext được coi là lỗi thời: Sử dụng bảo mật lớp vận chuyển (TLS) để gửi và truy cập email

## Xem thêm

* Mã hóa email
* Enetbot
* Giao thức truy cập tin nhắn Internet

## Tham khảo

## đọc thêm

## Liên kết ngoài

* Bài tập số cổng IANA 
* Sơ đồ trình tự POP3  (PDF)