Đồ án web server mailing list và mail system nhằm xây dựng IM hoàn chỉnh - 4
lượt xem 15
download
Hệ thống mạng email gồm có: - Một vùng đệm để chứa các message trước khi được gửi đi. - Một chương trình Client. - Một chương trình Server. - Các mailbox để chứa các thư nhận được. Trong đa số hệ thống mạng Email hiện nay các bộ giao tiếp của người sử dụng với hệ thống Email thường gắn với các chương trình Client. Mailbox được coi như là địa chỉ của người sử dụng, hoặc là một kho chứa đựng các dữ liệu của email. B. Các thành phần của một Hệ thống Internet Mail User agent...
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Đồ án web server mailing list và mail system nhằm xây dựng IM hoàn chỉnh - 4
- Hệ thống mạng email gồm có: - Một vùng đệm để chứa các message trước khi được gửi đi. - Một chương trình Client. - Một chương trình Server. - Các mailbox đ ể chứa các thư nhận đư ợc. Trong đa số hệ thống mạng Email hiện nay các bộ giao tiếp của ngư ời sử dụng với h ệ thống Email thường gắn với các ch ương trình Client. Mailbox được coi nh ư là đ ịa chỉ của người sử dụng, hoặc là một kho chứa đựng các dữ liệu của email. B. Các thành phần của một Hệ thống Internet Mail User agent thay thế cho chương trình email và các bộ phận MTA thay thế cho các chương trình phía Server, Client. Người sử dụng tương tác với chương trình user agent, nó thay thế cho người sử dụng tương tác với một kho chứa các dữ liệu email (hay chính là MTA), cùng lúc ấ y MTA ho ạt đôïng như một đại diện của máy tính. User Agent sẽ che chắn cho người sử dụng khỏi phải tương tác với “một mớ” các hệ thống email khác nhau. Cũng tương tự MTA sẽ che chắn hệ thống email không phải tương tác với những cơ quan đ ại diện của người sử dụng (user agent) hay các MTA khác. Điềy này giúp cho h ệ thống email trở nên thân thiện dễ gần hơn với người sử dụng - và đó cũng chính là mục đích chính của các chương trình mail khác nhau. * User Agent (UA) : Đây là chương trình giao tiếp giữa hệ thống mail X.400 với người sử dụng. Người sử dụng chỉ giao tiếp với hệ thống X.400 thông qua các User agent.
- Các User agent cho phép người sử dụng soạn thảo, tạo ra nội dung các mail, cung cấp địa chỉ người nhận và sau đó giao các mail cho Message Transfer Agent (MTA) để gửi mail đi. Các User agent được hiện thực khác nhau trên các môi trường khác nhau như DOS, Windows, Macintosh hay Unix. Đây chính là các chương trình Mail Client. Một hệ thống mail X.400 có thể có các chương trình Client ch ạy trên các môi trường khác nhau như trên. * Message Transfer Agent (MTA): Các MTA là các trạm xử lý mail giữa các User Agent. Mail sau khi được soạn ở User Agent, nó được gửi xuống MTA và di chuyển từ MTA này đến MTA khác cho đ ến khi đến đích và được User Agent của người nhận khôi phục lại. Có thể xem MTA như là một b ưu cục. MTA hoạt động theo mô hình Client/Server, MTA gửi là Client MTA trong khi MTA nh ận là Server MTA tức là chương trình MTA có thể hoạt động ở một trong h ai chế độ : Client hay Server. Message Store (MS) : Các Message Store là nơi các Message sau khi được tạo ra ở USER AGENT ,có thể được lưu trữ ở đó chờ MTA đến lấy và gởi đi. Đó cũng là nơi các Message sau khi được các MTA nhận về lưu trữ ở đó chờ cho đến khi người sử dụng xem Message n ày dùng một user agent. Với sự tham gia của MS, mô hình 1988 X.400 MHS đ ược gọi là mô hình Store-and- Forward. Lúc này các user agent có thể gửi (submit) các Message cho các MS hay trực tiếp gửi đến các MTA.
- Một công dụng của MS là khi chương trình user agent của người nhận không hoạt động vào thời điểm Message đến máy đó. Lúc này Message sẽ đư ợc lưu trữ trong MS. Message Transfer System (MTS) : Là một bộ tập hợp các MTA Message Handling System (MHS) : Là m ột bộ các user agent và MTA làm việc cộng tác nhau đ ể truyền nhận thông điệp. Message Handling Environment (MHE) : Bao gồm tất cả các bộ phận của MHS, n gười sử dụng và môi trường truyền nhận thông điệp. C. Mô hình Client / Server : Một trong những nguyên tắc sử dụng mạng là cho phép chia xẻ các tài nguyên. Việc chia xẻ này thư ờng được thi h ành bởi 2 chương trình riêng biệt, mỗi chương trình chạy trên các máy tính khác nhau. Một chương trình được gọi là Server, cung cấp tài nguyên, chương trình kia được gọi là Client, để sử dụng tài nguyên đó. Các chương trình Server và Client thường là ch ạy trên các máy khác nhau. Môt chương trình Server có thể cùng đáp ứng cho nhiều chương trình Client trên nhiều máy tính khác nhau cùng một lúc. Thông thường chương trình Server ch ạy trên một máy tính nào đó trong mạng, có khả năng cung cấp một dịch vụ nào đó. Chương trình Client là chương trình giao tiếp với người sử dụng, khi nhận yêu cầu của người sử dụng, chương trình Client sẽ gởi các yêu cầu đến chương trình Server và chờ kết quả trả về, chương trình Server khi nhận được yêu cầu, sẽ thi hành dịch vụ tương ứng và trả kết quả về cho chương trình Client.
- Sự liên hệ giữa chương trình Client và Server chỉ thông qua những dạng thức thông đ iệp được qui định khi lập trình còn việc xử lý lại Server và hiển thị tại Client là độc lập nhau. Do đó chương trình Client và Server có thể thay đổi thường xuyên mà vẫn hoạt động tốt miễn sao vẫn tuân theo các giao thức truyển thông giữa chúng. D. Giao thức TCP / IP : Dữ liệu trong mạng được truyền và nhận thông qua các giao thức được qui định trước. Một giao thức là một tập hợp những qui tắc cho việc truyền nhận dữ liệu giữa các thiết bị máy tính với nhau. TCP/ IP là tên chung cho một tập hợp hơn 100 giao th ức được sử dụng để kết nối các máy tính vào mạng, để tổ chức các máy tính và các th iết bị viễn thông trên một m ạng. Tên TCP/IP là chữ viết tắt của 2 giao thức quan trọng nhất trong nhóm là TCP (Transmission Control Protocol) và IP (Internet Protocol) Mạng dùng giao thức TCP/IP dữ liệu được chia thành những gói nhỏ gọi là những p acket. Khi ta gởi đi một thông điệp, TCP sẽ chia thông điệp này thành các packet, mỗi packet được đánh dấu bởi một số thứ tự và địa chỉ của người nhận, thêm vào đó là một số thông tin kiểm soát lỗi. Các packet này được gởi lên mạng và công việc của IP là truyền tải chúng tới host từ xa kia. Tại nơi nhận, TCP nhận các packet và kiểm tra lỗi, gởi trả lại nếu gói không đúng, với những gói dúng, TCP sử dụng số thứ tự để tạo lại thông điệp ban đầu. Tóm lại công việc của IP là chuyển dữ liệu thô - các packet từ nơi này đến nơi khác. Công việc của TCP là qu ản lý dòng chảy và đ ảm bảo rằng dữ liệu là đúng. TCP/IP có những đặc điểm sau : - Độc lập với cách nối mạng
- - Độc lập với phần cứng của mạng - Các nghi thức theo tiêu chuẩn của hệ mở - Cách đánh địa chỉ phổ dụng (Universal Addressing) - Cung cấp một số dịch vụ mạng đư ợc sử dụng rộng rãi như Email, FTP, Telnet… - Là cơ sở để xây dựng các ứng dụng theo mô hình Client / Server CẤU TRÚC CỦA MỘT BỨC MAIL ---------***-------- Về cơ bản, một bức mail bao gồm 3 phần chính: Phần phong bì: Mô tả thông tin về n gười gởi và ngưòi nh ận. Do hệ thống tạo ra. Phần tiêu đ ề (header): chứa đựng các thông tin về người gởi, người nhận, chủ đề bức mail, địa chỉ hồi âm .v.v.. Các thông tin này m ột số được người sử dụng cung cấp khi gởi mail, một số khác được chương trình mail thên vào, và số còn lại do hệ thống điền th êm. Phần nội dung (body): chứa đựng nội dung của bức mail, là nội dung được tạo ra bởi trình soạn thảo Editor của chương trình mail. Sau đ ây là chi tiết của từng phần: A. Ph ần phong bì (Envelope) Ph ần này do các MTA tạo ra và sử dụng, nó chứa các thông tin để chuyển nhận email như địa chỉ của nơi nh ận, địa chỉ của nơi gửi. Hay nói cách khác, nghi thức SMTP sẽ quy định thông tin của phong b ì, thông tin này đư ợc hệ thống email đòi hỏi đ ể chuyển dữ liệu từ một máy tính này sang một máy tính khác. B. Phần tiêu đ ề (header) Ph ần này cung cấp những thông tin tổng quát về email như người nhận, người gửi, n gày giờ nhận... Cấu tạo gồm nhiều trường (field) cấu trúc mỗi trường là một dòng
- văn bản ASCII chuẩn 7 bit nh ư sau: : Sau đây là một số trường thông dụng và ý nghĩa của nó : Date: Ch ỉ ngày giờ nhận mail. From: Ch ỉ người gửi. To: Chỉ người nhận. Cc: Chỉ người nhận được phiên b ản copy của mail. Return-path: Chứa các thông tin để ngư ời nhận có thể phúc đáp thư trở lại (thường cũng là địa chỉ người gửi). Subject: Chủ đề của nội dung email. Các trường trên là các trường chuẩn do giao thức SMTP quy định, ngoài ra trong phần header cũng có thể có thêm một số trường khác do chương trình email tạo ra nhằm quản lý các email mà chúng tạo. Các trường này đư ợc bắt đầu bằng ký tự X- và thông tin theo sau là cũng giống như ta thấy trên một trường chuẩn. Ví dụ trong chương trình của một hệ thống mail ngoài các trường chuẩn do nghi thức SMTP quy đ ịnh còn có thêm trường X-WinMail-Editor, trường n ày giúp cho chương trình nhận ra những bức mail nào là do người sử dụng tạo (nếu đúng thì cung cấp thông tin về việc nén nội dung bức mail) ra và những bức mail nào là do một chương trình email khác tạo ra. C. Phần nội dung (body) Để phân biệt phần tiêu đề và ph ần nội dung của bức mail, người ta qui ước đặt ranh giới là một dòng trắng (chuỗi ký tự "\r\n"). Kết thúc của phần nội dung là chuỗi ký tự kết thúc mail: "\r\n.\r\n". Như vậy nội dung bức mail nằm trong khoảng giữa dòng trắng đầu tiên và ký tt thúc mail và trong phần nội dung của bức mail không
- được phép tồn tại chuỗi ký tự kết thúc mail. Mặt khác do môi trường truyền thông là m ạng Internet nên các ký tự cấu thành thân bức mail cũng phải là các ký tự ASCII chuẩn. TÓM TẮT NHỮNG CHỨC NĂNG THÔNG DỤNG CỦA INTERNET MAIL ----***---- Công cụ Chức năng New messageTạo một bức thư mới Trả lời thư cho tác giả (người đã gởi thư cho mình Reply to Author Reply to All Trả lời thư cho tác giả và tất cả những ngư ời có địa chỉ được ghi trong mục Cc cuả bức thư Chuyển th ư đi (sẽ hiện ra một bảng để ta điền địa chỉ nơi đ ến và các Forward thông tin phụ) Gởi thư (nếu như có thư trong folder Outbox) hoặc tải các thư Send and Receice m ới từ server về Delete Xóa thư Sổ điện thoại. Đây là nơi chứa địa chỉ và các thông tin cụ thể Address Book của những người sở hữu những địa chỉ đó Đánh d ấu những bức thư để cho ta biết là thư đã được đọc Mark as Read Đánh d ấu những bức thư đ ể cho ta biết là thư chưa được đọc Mark as Unread Gửi thư có đính kèm theo một file nào khác (văn bản, hình ảnh, File Attachment trang web…) Tạo ra các nguyên tắc để nhận thư và chuyển thư đ ến những Inbox Assistant thư mục đã được định trước
- Tạo một chữ ký Singature Tạo độ ưu tiên cho từng bức thư sẽ được gửi đi Priority CHƯƠNG IV TÌM HIỂU VỀ CÁC HỆ THỐNG MAIL TRÊN HỆ ĐIỀU HÀNH LINUX Một hệ thống mail trên h ệ điều h ành Linux thường bao gồm hai thành phần: Mail User Agent (MUA) chính là giao diện của phần mềm mail được sử dụng để soạn thảo và đọc mail. Mail Transfer Agent (MTA) Thành phần chuyển vận mail cơ bản: đ ược dùng để gửi và nhận mail. Có hai MTA phổ biến được dùng trên hệu điều hành Linux và hàng tá MUA đã có sẵn trên đó. Có nhiều phiên bản của các hệ thống mail đã có sẵn trên Linux, mỗi phiên b ản đều có sự khác nhau về vấn đề thực thi không đáng kể lắm. Hệ thống e-mail thông thường cho Linux là Smail và Smail cũng có rất nhiều phiên b ản đã có sẵn trên Linux. Bởi vì cả Smail và Sendmail đ ều được cung cấp sẵn trên hầu hết các đ ĩa CD-ROM cài đ ặt hệ điều hành Linux cho nên người sử dụng có thể lựa chọn để có một hệ thống thích hợp. Với mỗi cách cài đặt riêng, cả hai hệ thống đều làm việc tốt. Nhưng trong một số trường hợp Smail dễ dàng cấu h ình và sử dụng h ơn Sendmail ở một mức độ không đ áng kể, nguyên nhân chính là vì nó có phần cài đ ặt sẵn cho nhiều modem hơn. Để sử dụng cho một hệ thống lớn và với các yêu cầu cấu hình đặc biệt, Sendmail thì linh hoạt hơn và cung nhiều nhiều chức năng hơn. Cả Smail và Sendmail đ ều yêu cầu phải thiết lập các thông số cho phù hợp thông qua các file cấu h ình, mặc dù quá trình cấu h ình là khác nhau cho mỗi sản phẩm.
- Đối với các yêu cầu email cơ bản, chẳng hạn như kết nối đến một mail server hoặc một máy khác trong mạng, quá trình thiết lập th ì hoàn toàn đơn giản và dễ dàng thực hiện. Khi soạn thảo một message sử dụng một MUA thông qua một giao diện chương trình (chẳng hạn như Elm, Pine hoặc mail) trên hệ thống Linux, trình ứng dụng sẽ gửi message đến MTA (chẳng hạn như Sendmail hoặc Smail). Ngay lập tức, các MUA sẽ chuyển message đến một bộ phận phân phát gọi là rmail mà nó thường đặt b í danh đ ến MTA cụ thể đang sử dụng. Có thể có nhiều MTA đang cùng chạy một lúc (chẳng hạn như một cho email LAN và một cho UUCP phát), mặc dù hầu hết các hệ thống đều chỉ sử dụng một cái thích hợp nhất. Nếu message được gửi cho một người n ào đó trên m ạng LAN (hoặc đến một máy tương tự khác), MTA có thể tìm ra các thông tin từ địa chỉ. MTA phải có thể hiểu các bí danh thật tốt đối với các trư ờng hợp người sử dụng gọi đến một máy khác, một mạng hoặc những người sử dụng bằng các tên khác nhau. Nếu message dành cho một người sử dụng từ một hệ thống xa, MTA phải có khả năng thiết lập kết nối đ ến một máy khác thông qua một router (bộ dẫn đường) đến địa chỉ đích và chuyển m essage đi (kết nối đó có thể là giao thức TCP hoặc UUCP). Nếu thành công, một giao thức chuyển vận gọi là SMTP được sử dụng. Một MTA phải có khả năng xử lý các vấn đềâ về chuyển phát mail, chẳng hạn như máy đích không sẵn sàng để sử dụng hoặc user không tồn tại. Trong trường hợp đó, mail đư ợc trả về người gửi kèm theo một thông báo lỗi.
- Một hệ thống email phải có khả năng sử dụng các địa chỉ của người gửi và người nhận theo nhiều định dạng khác nhau. Thông thường th ì sử dụng địa chỉ định dạng kiểu chấm than của UUCP, ví dụ như: merlin!brutus!tpci!com!tpaker (có nghĩa là chuyển mail cho merlin, sau đó là brutus, và sau đó là tpci.com đến người sử dụng tparker) hoặc tên miền, chẳng hạn như tparker@tpci.com. Kiểu UUCP thì chỉ ra đường dẫn đầy đủ đến máy đích còn tên miền sử dụng địa chỉ quyết định hệ thống sẽ làm việc mà không cần đường dẫn. Các kiểu địa chỉ khác cũng được sử dụng, chẳng hạn như DECnet với địa chỉ kiểu % nhưng UUCP và các tên miền th ì được sử dụng trên h ầu hết các hệ thống. Bộ dẫn đường (Router) để đưa message mail đến đích cũng là một khía cạnh quan trọng của phần mềm MTA và các phần mềm mail khác phụ thuộc vào UUCP (trong trường hợp đường dẫn đầy đủ được chỉ định) hoặc tên miền (trong trư ờng hợp router được đưa ra) đ ịa chỉ sử dụng. Đối với cách đánh địa chỉ dựa trên giao th ức TCP (thường sử dụng các tên miền), chức năng mặc định cho một MTA là phát m essage đến máy đích dựa vào địa chỉ IP và không cần đến router, đ ưa đến phần m ềm IP trong các điều khiển TCP/IP. Để đ ơn giản việc chuyển phát mail trong các m ạng lớn hoặc các hệ thống, nơi mà một máy đơn lẻ được đóng vai trò như bộ mặt của Internet, một mạng cục bộ có thể đưa ra một bảng ghi MX (Mail Exchange) mà nó được hiểu bởi hệ thống tên miền (DNS) và một chỉ thị (hoặc lệnh) đến router đối với tất cả các mail của tên miền đó đ ến một máy đ ơn. Bản ghi MX cho phép các máy không kết nối đến Internet tất cả th ời gian để có mail nhận được từ một máy chủ, với UUCP hay là TCP, sau đó th ỉnh thoảng mới kết nối một lần. Ví dụ sau đây là kiểu của một bảng ghi MX:
- m erlin.tpci.com IN MX 3 bigserver.tpci.com Dòng trên nói về một hệ thống tên miền m à một mail bất kỳ của merlin.tpci.com có th ể gửi đến hệ thống bigserver.com. Cổng vào INTERNET nhận biết kiểu bảng ghi tài nguyên có liên quan (rất quan trọng đối với TCP/IP) và MX cho th ấy là bảng ghi n ày là m ột bảng ghi MX. Số 3 trong ví dụ trên là một con số ưu tiên. Trong mạng có thể có nhiều mail server, mỗi cái đều có một con số ưu tiên. Các số mức thấp được sử dụng bởi phần mềm chuyển vận trước và ch ỉ chuyển lến các số mức cao h ơn khi các số mức thấp hơn không được máy trả lời tín hiệu. Cấu trúc một thư điện tử trên Linux: Để hiểu cách một hệ thống mail hoạt động như thế nào, cần phải biết cấu trúc một m essage mail thì phải như th ế n ào? Một message mail chứa một đo ạn văn bản (gọi là ph ần body) và một phần của thông tin ở chỗ bắt đầu một message chứa các thông tin về người gửi, nơi nó đư ợc tạo ra… được gọi là phần header. Thông thường phần header và body của message được cách bằng một dòng trống. Có nhiều message cũng chứa một phần dữ liệu tại đoạn cuối của message gọi là tái bút.Tái bút là một bít dữ liệu ASCII được viết bởi n gười gửi và được bao gồm trong bất một message bất kỳ khác. Nó thương đưa ra các thông tin về người gửi và có thể chứa đứng các lời nói ngắn gọn. Một header bao gồm 2 phần: Phần đầu tiên chứa các thông tin về người gửi người nhận và các đ ịa chỉ của họ. Phần n ày thường được gọi là ph ần phong bì. Ph ần thứ h ai chứa các thông tin để điều khiển message mail, chứa phần tiêu đề message và chuyển vận sử dụng để gửi message, dach sách các người nhận kèm khác, ngày giờ …
- Mỗi header của một message mail chúa một số các dòng cách bở các ký tự dòng m ới. Mỗi dòng gồm một tên trường theo sau bởi một dấu : và nội dung của trường đó. Sau đây là một ví dụ của một header: From brutus!bignet.com Thu Sep 21 17:40:32 1995 Received: from bignet.com by tpci.tpci.com id aa00184; 21 Sep 95 17:39 EDT Received: from mailserv.biggernet.com ([147.77.1.1]) by bignet.com with SMTP id ; Thu, 21 Sep 1995 20:48:04 -0400 Received: by biggernet.com (4.1/SMI-4.1) id AA00266; Thu, 21 Sep 95 17:39:03 PDT Date: Thu, 21 Sep 1995 20:39:03 -0400 From: Yvonne Message-Id: To: tparker@tpci.com Subject: Important stuff Cc: prudie@bignet.com Có hai trường From: Một chỉ ra máy đã chuyển mail đến hệ thống của người sử dụng và một là địa chỉ email của người gửi. Trường này có th ể có nhiều kiểu định d ạng khác nhau, bao gồm cả địa chỉ kiểu UUCP và các đ ịnh dạng kiểu tên miền đầy đủ. Mỗi máy m à message gửi thông qua dòng địa chỉ đến trường Received chỉ ra nơi m à message đã nhận từ đâu và nơi mà nó được nhận. Thông tin n ày cho phép người sử dụng lần theo message tìm đến n ơi xuất phát của nó. Trường Date hiển thị ngày tháng mà message được gửi.
- Trường Message-ID liệt kê một số nhận biết duy nhất cho message. Trường To hiển thị tên người nhận. Người gửi cung cấp thông tin trong trư ờng Subject để một tả về message. Trường CC: Chỉ người nhận được phiên bản copy của mail Phụ thuộc vào hệ thống m à ban sử dụng, có khi phần header còn bao gồm cả các trường sau: Trường Repley – To: Chứa các thông tin để người nhận có thể phúc đáp thư trở lại (thường cũng là địa chỉ người gửi) Trường Oganization cung cấp tên công ty mà máy của công ty đó đang sử dụng. Trường tùy chọn n ày thường để trống hoặc thiết lập riêng biệt cho các máy của các tập đoàn lớn. I. CÀI ĐẶT VÀ CẤU HÌNH CHO SENDMAIL Hệ thống Sendmail được cấu h ình chủ yếu thông qua một file n àm ở /etc/senmail.cf (m ặc dù một vài hệ thống đặt nó ở /usr/lib/sendmail.cf hoặc ở nơi khác). Ngôn ngữ sử dụng trong file cấu h ình senmail.cf thì hoàn toàn khác so với các file cấu hình khác và rất phức tạp. File Sendmail.cf điều khiển các chức năng mặc định của hệ thống gửi mail. Có nhiều file khác cũng có liên qua trong quá trình cấu hình, đó là: Decnetxtable: có nhiệm vụ đổi địa chỉ thông thường sang địa chỉ DEC. Genericfrom: Có nhiệm vụ đổi địa chỉ bên trong sang địa chỉ thông thư ờng. Mailtertable: Định nghĩa các xử lý đặc biệt cho các máy chủ từ xa và các tên miền. Pathtable: Định nghĩa các đường dẫn UUCP đến các máy từ xa và các tên miền. Uucprelays: Cho phép gián tiếp đến các máy chủ từ xa.
- Xaliases: Đổi địa chỉ thông thường thành địa chỉ b ên trong. Sendmail + hệ thống IDA sử dụng một bộ tiền xử lý chẳng hạn như m4 hoặc dbm đ ể tạo ra các file cấu hình sau khi người sử dụng chỉ định các giá trị cho các thông số. Sau khi sử dụng bộ tiền xử lý, hệ thống sử dụng một bộ tạo file để tạo ra các file cấu hình cuối cùng. 1 . File sendmail.cf Khi sử dụng Sendmail + IDA, file sendmail.cf không được thiết lập các giá trị phù h ợp với hệ thống và công việc của người sử dụng. Thay vì quá trình cấu hình xử lý các thay đ ổi sinh ra, một quá trình cấu hình bình th ường được điều khiển bởi một file gọi là sendm ail.m4, nó cung cấp các thông tin cơ b ản về tên h ệ thống, đường d ẫn sử dụng trên hệ thống của người sử dụng và mailer mặc định đang sử dụng. Mặc dù việc thay đổi file sendmail.m4 có thể mất nhiều thời gian nhưng nó cần thiết đối với các thông tin cơ bản cho việc cài đặt Linux sử dụng uucp và SMTOP cho việc chuyển vận mail. Ph ần quan trọng nhất trong file sendmail.m4 là phần khai báo các thư mục. Phần n ày thường bắt đầu với một dòng khai báo LIBDIR: dnl #define(LIBDIR, /usr/local/lib/mail) Thư mục LIBDIR là n ơi Sendmail + h ệ thống IDA tìm kiếm các file định dạng và các bảng router, thông thường dòng này đ ược bỏ qua nhưng đường dẫn mặc định thì n ằm ở vị trí thông thư ờng cho tất cả hệ thống Linux mail. Nếu đường dẫn hiển thị trong Sendmail là chính xác, không cần điều chỉ lại file này. Đư ờng dẫn này thường ghi mã trực tiếp vào trong bộ nhị phân Sendmail và không cần thiết để ghi đ è lên b ởi file sendmail.m4 (hoặc sendmail.cf). Nếu cần phải thay đổi đ ường dẫn này,
- phải gỡ bỏ giá trị dnl ở dòng b ắt đầu, thêm vào đường dẫn đúng và sau đó lưu lại trong file sendmail.cf Mailer cục bộ được sử dụng bởi Sendmail được khai báo tại một dòng có giá trị LOCAL_MAILER_DEF d efine(LOCAL_MAILER_DEF, mailers.linux)dnl Dòng này là cần thiết bởi vì Sendmail không điều khiển các mail gửi đi. Một chương trình khác sẽ đảm nhận việc này thay cho Sendmail. Mặc dịnh, giá trị dùng cho mailer cục bộ được chứa trong một file gọi là mailers.linux. File này được chuyển đến mục nhập LOCAL_MAILER_DEF trong file sendmail.m4, điều này có n ghĩa là người sử dụng cần phải kiểm tra file mailer.linux trong thư mục con tương tự (thường là /usr/local/lib/mailer.linux) để chắc chắn ch ương trình chuyển (hoặc một chương trình bất kỳ đã sử dụng) đã được nhập các thuộc tính. Nội dung một file mailer.linux sẽ bao gồm nh ư sau: # mailers.linux Mlocal, P=/usr/bin/deliver, F=SlsmFDMP, S=10,R=25/10, A=deliver $u Mprog, P=/bin/sh, F=lsDFMeuP, S=10, A=sh -c $u Một agent phát th ư đi cũng đ ược chỉ định trong file sendmail.mc, file này đư ợc dùng để xây dựng file sendmail.cf. Nếu agent phát không chuyển thư đi, phải kiểm tra file sendmail.mc để chắc rằng agent chuyển mail đã được thiết lập các thuộc tính. Sendmail.mc là một file quan trọng và nó phải được đọc khi sendmail.m4 được xử lý. Thường có một dòng khai báo trong file sendmail.m4 đ ể chắc rằng việc này phải xảy ra. Dòng này thường nằm ở phần đầu file sendmail.m4 include(Sendmail.mc)dnl
- Người sử dụng cần phải chỉ định một vài mục nhập trong biến PSEUDOMAINS. Biến n ày được d ùng để điều khiển hệ thống mà nó không thể mở rộng vào trong các tên miền một cách chính xác, thông thường là hệ thống UUCP. Các mục nhập trong trường PSEUDOMAINS chỉ ra rằng Sendmail + IDA không sử dụng DNS cho những mạng đó. Biến PSEUDOMAINS đ ược khai báo như sau: d efine(PSEUDODOMAINS, BITNET UUCP)dnl Có thể sử dụng biến PSEUDONYMS để làm ẩn tên máy của người sử dụng. Ví dụ, một mail nhận trên m ạng khác sẽ chỉ thấy địa chỉ tpci.com mà không quan tâm đến việc dù là được gửi từ merlin.tpci.com hay chatton.tpci.com. Khi sử dụng biến PSEUDONYMS, Sendmail chấp nhận mail từ tất cả các máy đ ược khai báo trong trường PSEUDONYMS. Trường PSEUDONYMS được hiển thị như sau: d efine(PSEUDONYMS, tpci.com)dnl Mục vào nhày cho phép một máy tính bất kỳ của mạng tpci.com gửi mail thông qua Sendmail. Để định nghĩa tên m áy, sử dụng biến DEFAULT_HOST. Biến n ày thường được gán giá trị tên mail server của người sử dụng. Người sử dụng có thể khai báo như sau để thiết lập tên mail server mặc định: d efine(DEFAULT_HOST, merlin.tpci.com)dnl Nếu không gán một tên đúng cho biến DEFAULT_HOST sẽ không có mail được trả về chính xác đến hệ thống đang sử dụng. Nếu hệ thống không phải là một cổng nối mail lên Internet (hoặc các mạng khác được truy cập từ mạng LAN) người sử dụng có thể thiết lập cho hệ thống Linux cho phép gửi mail lên một máy khác để xử lý bằng cách thiết lập các biến
- RELAY_HOST và RELAY_MAILER trong file sendmail.m4. Các biến này sẽ đặt tên của mail server m à tất cả các mail sẽ đ ược chuyển đến. Ví dụ: Để thiết lập cho h ệ thống cục bộ dẫn hướng tất cả các mail bên ngoài đ ến một máy tên là wizard, phải khai báo 2 dòng như sau: d efine(RELAY_HOST, wizard)dnl d efine(RELAY_MAILER, UUCP=A)dnl Dòng thứ hai chỉ định mailer sử dụng để gửi message đến máy RELAY_HOST. 2 . Điều chỉnh UUCP: Nếu phải đang làm việc với một hệ thống mail trên nền tảng UUCP, người sử dụng phải điều chỉnh một vài mục nhập trong file sendmail.m4. Sự điều chỉnh này là cần thiết bởi vì một hệ thống mail UUCP th ường đánh địa chỉ khác so với các hệ thống trên n ền tảng DNS. Các khai báo của UUCP trong file sendmail.m4 như sau: d efine(UUCPNAME, tpci)dnl d efine(UUCPNODES, |uuname|sort|uniq)dnl d efine(BANGIMPLIESUUCP)dnl d efine(BANGONLYUUCP)dnl Dòng đầu tiên khai báo UUCPNAME dùng để chỉ định tên của hệ thống cục bộ trong giới hạn UUCP. Tên này có th ể khác hơn tên sử dụng trong DNS, mặc dù thông thường thì các tên đó trông cũng không khác nhau mấy. Biến UUCPNODES khai báo lệnh sử dụng để cung cấp một danh sách tên các host m à h ệ thống kết nối tới thông qua UUCP. Biến BANGIMPLIESUUCP để cho Sendmail biết là b ất kỳ một địa chỉ n ào chứa d ấu ! đều là đ ịa chỉ kiểu UUCP. Biến BANGONLYUUCP thì làm đ iều ngược lại.
- Cả 2 biến này thư ờng được khai báo bởi vì một vài h ệ thống DNS sử dụng phương pháp đánh địa chỉ kiểu dấu chấm than. 3 . Cấu hình các b ảng định vị Có nhiều dòng trong file sendmail.m4 dùng đ ể khai báo các bảng cấu h ình. Các b ảng cấu hình này nằm dưới thư mục khai báo bởi biến LIBDIR. Phần này gồm các dòng sau: d efine(ALIASES, LIBDIR/aliases)dnl d efine(DOMAINTABLE, LIBDIR/domaintable)dnl Có kho ảng 7 file cấu đ ược ch ỉ định trong toàn bộ. Ngư ời sử dụng có thể thay đổi b ất kỳ giá trị nào nếu muốn nhưng phải chắc chắn rằng việc di chuyển nó thị vị trí được chỉ định. Để bảo đảm, tốt nhất nên gỡ bỏ các file khỏi các ví trí mặc định của nó. 4 . Cấu hình mailertable Bảng m ailertable khai báo các điều khiển đặc biệt cho cac host hoặc các tên miền. Trong h ầu hết các trường hợp, mailertable chỉ định các tên miền chắc chắn hoặc các host được truy cập và các giao th ức n ào sử dụng cho các tên miền và các host đó. Người sử dụng không phải điều chỉnh file này nếu hệ thống đang sử dụng UUCP nhưng phải kiểm tra nội dung của nó nếu là đang sử dụng SMTP hoặc DNS. File mailertable được dọc từ dòng đầu tiên xuống và Sendmail xử lý mail dựa trên mỗi dòng trong file này. Trong mỗi trường hợp, nơi mà hầu hết các quy tắc chỉ định n ằm ở đầu file, theo sau bởi các quy tắc thông thường khác. Các quy tắc chỉ ra phương thức của kết nối đầu tiên và sau đó liệt kê các hệ thống từ xa hoặc tên miền: m ailer delimiter relayname remote
- Trong khai báo trên, mailer là giao thức chuyển vận được sử dụng, delimiter là ký tự đặc biệt, relayname là tên của hệ thống chuyển mail đến và remote là host từ xa hoặc tên miền. Mailer có thể là các giá trị: TCP-A: TCP với địa chỉ kiểu Internet. TCP-U: TCP với địa chỉ kiểu UUCP. UUCP-A: UUCP với địa chỉ kiểu Internet. Delimiter có một ý nghĩa đặc biệt và ph ải là một trong cac ký tự sau: Gỡ bỏ tên host từ phần địa chỉ trước khi gửi đi. ! , Không điều chỉnh địa chỉ cho tất cả. Gỡ bỏ tên host ch ỉ khi các host trung gian được chỉ định. : Có thể xây dựng các quy tắc mailertable một các dễ dàng khi chuyển mail đến một m ail server từ xa. Ví dụ, để bắt buộc Sendmail sử dụng UUCP thông qua một mail server từ xa gọi là wizard kết nối đế một hệ thống từ xa roy.sailing.org, thêm một quy tắc như sau vào file mailertable: UUCP-A,wizard roy.sailing.org 5 . File cấu hình uucprelays File uucprelays dùng để bỏ qua đường dẫn UUCP đến một site từ xa khi một đường d ân tốt hơn đã tồn tại. Ví dụ, nếu người sử dụng thường sử dụng đường dẫn wizard!bignet!merlin!tpci và có th ể tạo ra một liên kết chỉ đường đến tpci, n ên sử dụng file uucprelays để đổi lại đư ờng dẫn địa chỉ mail. 6 . File cấu hình uucpxtalbe
- File uucpxtalbe được sử dụng khi một địa chỉ kiểu UUCP được sử dụng trong việc vận chuyển mail. File n ày cung cấp các chỉ dẫn cho công việc chuyển một địa chỉ kiểu DNS sang UUCP. Nếu ngư ời sử dụng đang sử dụng một mail server khác h ơn m ail server hiện tại hoặc muốn sử dụng UUCP để kết nối đến một máy cụ thể vì độ tin cây, file này th ực sự cần thiết. File này ch ứa các mục vào liệt kê tên kiểu UUCP theo sau bởi tên miền: Chatton chatton.com Mục vào này chỉ ra rằng Sendmail m à một mail chatton.com bất kỳ nào đó đều phảøi đư ợc cập nhập qua UUCP đến chatton ( đánh địa chỉ kiểu UUCP). Mục vào n ày bắt buộc các địa chỉ mail đến yvone@chatton.com phải được viết lại giống như chatton!yvone, một địa chỉ mà UUCP có th ể sử dụng. 7 . Xây dựng file sendmail.cf từ file sendmail.m4 Bây giờ, đã cấu hình xong file sendmail.m4 và các file có liên qua của nó, có th ể sử dụng bộ xử lý m4 để tạo ra file sendmail.cf. Một khi file sendmail.m4 đã sẵn sàng đ ể làm việc, bắt nguồn từ dòng lệnh: Make sendmail.cf Một khi file đã đ ược tạo, chép nó sang thư mục /etc và kh ởi động Sendmail với dòng lệnh: /usr/lib/sendmail –bd –q1h hoặc khởi động lại máy tính. II. SỬ DỤNG SENDMAIL PHIÊN BẢN 8.0
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Đồ án tốt nghiệp " TÌM HIỂU VỀ CÁC WEB SERVER THÔNG DỤNG. TÌM HIỂU VỀ MAILING LIST VÀ CÁC MAIL SYSTEM. XÂY DỰNG MỘT CHƯƠNG TRÌNH INTERNET MAIL "
90 p | 1662 | 584
-
ĐỒ ÁN TỐT NGHIỆP: " Tìm hiểu một số công nghệ web và xây dựng chương trình newsletter "
88 p | 190 | 60
-
Đồ án web server mailing list và mail system nhằm xây dựng IM hoàn chỉnh - 1
39 p | 188 | 44
-
Đồ án web server mailing list và mail system nhằm xây dựng IM hoàn chỉnh - 3
39 p | 62 | 11
-
Đồ án web server mailing list và mail system nhằm xây dựng IM hoàn chỉnh - 2
39 p | 90 | 9
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn