- Độ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ư Emai
Trang 1Hệ 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
Trang 2Cá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 hai 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 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
Trang 3Store-and-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, ngườ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
Trang 4Sự 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 thiế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 packet 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
Trang 5- Độ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ề ngườ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, ngà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
Trang 6văn bản ASCII chuẩn 7 bit như sau: <tên trường >: <nội dung của trường> 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
Trang 7đượ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 message Tạo một bức thư mới
Reply to Author Trả lời thư cho tác giả (người đã gởi thư cho mình
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ư
Forward Chuyển thư đi (sẽ hiện ra một bảng để ta điền địa chỉ nơi đến và các thông tin phụ)
Send and Receice Gởi thư (nếu như có thư trong folder Outbox) hoặc tải các thư mới từ server về
Delete Xóa thư
Address Book Sổ điện thoại Đây là nơi chứa địa chỉ và các thông tin cụ thể của những người sở hữu những địa chỉ đó
Mark as Read Đánh dấu những bức thư để cho ta biết là thư đã được đọc Mark as Unread Đánh dấu những bức thư để cho ta biết là thư chưa được đọc File Attachment Gửi thư có đính kèm theo một file nào khác (văn bản, hình ảnh, trang web…)
Inbox Assistant Tạo ra các nguyên tắc để nhận thư và chuyển thư đến những thư mục đã được định trước
Trang 8Singature Tạo một chữ ký
Priority Tạo độ ưu tiên cho từng bức thư sẽ được gửi đi
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
Trang 9Đố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 message đ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
Trang 10Mộ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 message đế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:
Trang 11merlin.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 message 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 ngườ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ứ hai 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ờ
…
Trang 12Mỗ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 <250079-4>; 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 <yvonne@chatton.bignet.com>
đủ
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
Trang 13Trườ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
Trang 14Xaliases: Đổ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à sendmail.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,
Trang 15phả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
define(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ó nghĩ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
Trang 16Ngườ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:
define(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:
Trang 17RELAY_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:
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
Trang 18Cả 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:
define(ALIASES, LIBDIR/aliases)dnl
define(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 mailertable 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: mailer delimiter relayname remote
Trang 19Trong 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 mail 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