Để cài đặt một máy chủ email, có nhiều cách làm, nhiều lựa chọn. Sau đây là một lựa chọn
Đại thể khi gửi, nhận thư điện tử các bước và các phần mềm sau được sử dụng;
Đại thể khi gửi, nhận thư điện tử các bước và các phần mềm sau được sử dụng;
1. Người gửi thư dùng một trong những phần mềm thư điện tử cá nhân (email client: Outlook, Outlook Express, Thunderbird, KMail, … hoặc các webmail như Gmail, Yahoo Mail, Squirrel Mail,,…) để soạn thư. Các email client còn được gọi là Mail User Agent (MUA).
2. Khi nhấn nút Send, một kết nối theo giao thức SMTP qua cổng 25 được thiết lập với máy chủ mail. Để đảm bảo an toàn, kết nối này có thể dùng các giao thức mã hóa SSL (Secure Socket Layer) hoặc TLS (Transport Layer Security) để mã hóa các thông tin trao đổi giữa email client và máy chủ mail.
3. Username và password của người gửi được một chương trình xác thực (authentication) kiểm tra. Chương trình này thường là OpenLDAP hoặc một cơ sở dữ liệu (MySQL, ….).
4. Nếu kết quả kiểm tra xác nhận người gửi là người đã đăng ký, thư được chuyển cho chương trình Mail Transfer Agent (MTA). Chương trình này có thể là Sendmail, Postfix, Courrier, qmail, v.v…Trước khi nhận, MTA (hoặc một chương trình riêng Mail Submission Agent -MSA) soát, sửa các lỗi của thư (lỗi địa chỉ, ngày tháng, …).
5. MTA sẽ đọc domain trong địa chỉ người nhận (phần bên phải @) rồi hỏi các DNS server trên Internet để tìm địa chỉ máy chủ mail của domain đó theo các MX record đã khai trong DNS server. Khi tìm được, MTA gửi thiết lập kết nối với MTA nhận qua cổng 25.
6. Chương trình xác thực trên máy chủ nhận (OpenLDAP, MySQL, …) sẽ kiểm tra xem người nhận có được đăng ký trên máy đó không. Nếu không, sẽ có báo lỗi 550 về cho người gửi và từ chối nhận thư.
7. Nếu người nhận được xác thực, thư sẽ được tiếp tục kiểm tra virus, spam bằng các chương trình antivirus (ví dụ clamAV), chương trình antispam (ví dụ Spamassasin hoặc Postgrey, …) và quota dung lượng hộp thư người nhận trên máy chủ cũng được kiểm tra xem còn không hay đã đầy. Nếu hộp thư đầy hoặc thư có virus sẽ có mail thông báo cho người gửi và thư bị từ chối.
8. Sau khi kiểm tra mail xong, MTA chuyển giao thư cho phần mềm Mailbox Server qua giao thức LMTP. Tại đây, một phần mềm Mail Delivery Agent sẽ lưu thư vào hộp thư người nhận (Inbox hoặc Spam tùy theo thư có bị đánh dấu là spam hay không).
9. Tại Mailbox Server còn một loạt hoạt động khác được thực hiện: lập chỉ số (index) của thư và file đính kèm bằng Lucent để tìm kiếm nhanh, lưu meta-data của mail vào một cơ sở dữ liệu nào đó, lưu thư theo định dạng mailbox hoặc maildir đã chọn vào một hệ thống file, convert các file đính kèm thành dạng HTML để xem trong trình duyệt, v.v… Các dịch vụ này có thể có hoặc không theo ý đồ của người thiết kế hệ thống mail.
10. Người nhận dùng một phần mềm email client (Outlook, webmail, …) kết nối với máy chủ mail bằng giao thức POP3 hoặc IMAP để đọc thư. Trên máy chủ, phần mềm POP3 hoặc IMAP server (Dovecot, Courrier, …) phụ trách việc kết nối này và tìm thư từ mailbox để chuyển về hoặc hiển thị trên email client. Quá trình kết thúc ở đây.
11. Ngoài ra trên máy chủ Mail server còn có thể có một số thành phần phụ nữa theo ý người cài đặt: webmail, một giao diện quản lý (Administrator consol) thường cũng là giao diện web, phần mềm backup, phần mềm clustering nếu muốn hệ có tính sẵn sàng cao, v.v…Với một hệ thống lớn có thể dùng nhiều máy chủ, thiết lập một cơ chế tự động cân bằng tải, bổ xung hoặc thay thế các máy chủ khi cần.
2. Khi nhấn nút Send, một kết nối theo giao thức SMTP qua cổng 25 được thiết lập với máy chủ mail. Để đảm bảo an toàn, kết nối này có thể dùng các giao thức mã hóa SSL (Secure Socket Layer) hoặc TLS (Transport Layer Security) để mã hóa các thông tin trao đổi giữa email client và máy chủ mail.
3. Username và password của người gửi được một chương trình xác thực (authentication) kiểm tra. Chương trình này thường là OpenLDAP hoặc một cơ sở dữ liệu (MySQL, ….).
4. Nếu kết quả kiểm tra xác nhận người gửi là người đã đăng ký, thư được chuyển cho chương trình Mail Transfer Agent (MTA). Chương trình này có thể là Sendmail, Postfix, Courrier, qmail, v.v…Trước khi nhận, MTA (hoặc một chương trình riêng Mail Submission Agent -MSA) soát, sửa các lỗi của thư (lỗi địa chỉ, ngày tháng, …).
5. MTA sẽ đọc domain trong địa chỉ người nhận (phần bên phải @) rồi hỏi các DNS server trên Internet để tìm địa chỉ máy chủ mail của domain đó theo các MX record đã khai trong DNS server. Khi tìm được, MTA gửi thiết lập kết nối với MTA nhận qua cổng 25.
6. Chương trình xác thực trên máy chủ nhận (OpenLDAP, MySQL, …) sẽ kiểm tra xem người nhận có được đăng ký trên máy đó không. Nếu không, sẽ có báo lỗi 550 về cho người gửi và từ chối nhận thư.
7. Nếu người nhận được xác thực, thư sẽ được tiếp tục kiểm tra virus, spam bằng các chương trình antivirus (ví dụ clamAV), chương trình antispam (ví dụ Spamassasin hoặc Postgrey, …) và quota dung lượng hộp thư người nhận trên máy chủ cũng được kiểm tra xem còn không hay đã đầy. Nếu hộp thư đầy hoặc thư có virus sẽ có mail thông báo cho người gửi và thư bị từ chối.
8. Sau khi kiểm tra mail xong, MTA chuyển giao thư cho phần mềm Mailbox Server qua giao thức LMTP. Tại đây, một phần mềm Mail Delivery Agent sẽ lưu thư vào hộp thư người nhận (Inbox hoặc Spam tùy theo thư có bị đánh dấu là spam hay không).
9. Tại Mailbox Server còn một loạt hoạt động khác được thực hiện: lập chỉ số (index) của thư và file đính kèm bằng Lucent để tìm kiếm nhanh, lưu meta-data của mail vào một cơ sở dữ liệu nào đó, lưu thư theo định dạng mailbox hoặc maildir đã chọn vào một hệ thống file, convert các file đính kèm thành dạng HTML để xem trong trình duyệt, v.v… Các dịch vụ này có thể có hoặc không theo ý đồ của người thiết kế hệ thống mail.
10. Người nhận dùng một phần mềm email client (Outlook, webmail, …) kết nối với máy chủ mail bằng giao thức POP3 hoặc IMAP để đọc thư. Trên máy chủ, phần mềm POP3 hoặc IMAP server (Dovecot, Courrier, …) phụ trách việc kết nối này và tìm thư từ mailbox để chuyển về hoặc hiển thị trên email client. Quá trình kết thúc ở đây.
11. Ngoài ra trên máy chủ Mail server còn có thể có một số thành phần phụ nữa theo ý người cài đặt: webmail, một giao diện quản lý (Administrator consol) thường cũng là giao diện web, phần mềm backup, phần mềm clustering nếu muốn hệ có tính sẵn sàng cao, v.v…Với một hệ thống lớn có thể dùng nhiều máy chủ, thiết lập một cơ chế tự động cân bằng tải, bổ xung hoặc thay thế các máy chủ khi cần.
0 nhận xét:
Đăng nhận xét