Tải bản đầy đủ (.pdf) (7 trang)

Tài liệu Dịch vụ SMTP: Một giải pháp gửi e-mail đơn giản và hiệu quả docx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (195.48 KB, 7 trang )

Dịch vụ SMTP: Một giải pháp gửi e-mail đơn giản và hiệu quả

Dùng e-mail để trao đổi thông tin cá nhân hay việc kinh doanh là một
việc làm hết sức cần thiết. Có thể bạn có một hộp thư điện tử từ một nhà
cung cấp dịch vụ hay một hộp thư miễn phí trên nền Web, nhưng bạn đã
gửi thư mà không cần 1 phần mềm gửi nhận mail nào chưa? Chúng tôi
muốn nói đến SMTP có sẵn trong Win 2000 và có cả trong Win XP và
Windows Server 2003.
Hiện nay, việc sử dụng e-mail để trao đổi thông tin cá nhân hay phục vụ
công việc kinh doanh là một việc làm hết sức cần thiết. Có thể bạn có một hộp thư điện tử được
đăng ký từ một nhà cung cấp dịch vụ hay một hộp thư miễn phí trên nền Web, nhưng đã bao giờ
bạn gửi thư đi mà không cần phải nhờ đến một phần mềm gửi nhận mail
nào hay chưa? Chúng
tôi muốn nói đến dịch vụ SMTP (Simple Mail Transfer Protocol) có sẵn trong Windows 2000 và
có cả trong Windows XP và Windows Server 2003.
Để gửi thư đi bạn chỉ cần soạn một tệp văn bản (text) theo một cấu trúc định sẵn (bằng chương
trình Notepad chẳng hạn), sau đó bạn copy tệp này vào thư mục Root:Inetpubmail
rootPickup,
ngay tức thì dịch vụ SMTP sẽ tự động chuyển thư đi mà không cần phải nhờ đến một hộp thư
điện tử được đăng ký từ một nhà cung cấp dịch vụ và cũng không cần đến một phần mềm gửi
nhận thư như Outlook Express chẳng hạn. Đây mới chỉ là một tính năng hữu ích của dịch vụ. Lợi
ích chính của nó nằm ở chỗ, những người lập trình dựa vào dịch vụ này để có thể viết những
chương trình gửi thư mang tính đặc thù nhằm phục vụ công việc kinh doanh của họ. Lấy ví dụ
trong công ty chúng tôi - một công ty truyền thông hàng đầu trong nước - cứ mỗi tháng bộ phận
tính cước phải gửi số liệu cho gần 30 tỉnh thành trên toàn miền Bắc. Người thao tác hệ thống
phải gửi đi ít nhất khoảng 30 thư điện tử với tiêu đề thư và nội dung như nhau có thêm tệp tính
cước đính kèm riêng cho từng tỉnh thành. Chưa tính đến sự cố thư không đến được nơi nhận vì
một lý do nào đó như lỗi hệ thống hay đường truyền bị nghẽn và lúc đó phải gửi vài lần nữa để
đảm bảo việc gửi số liệu cước không bị chậm. Giải pháp duy nhất cho vấn đề này là tự viết một
chương trình gửi mail tự động phù hợp với yêu cầu của công việc và giảm bớt phức tạp cho
người thao tác hệ thống. Và đương nhiên chương trình này phải dựa trên dịch vụ SMTP mà


chúng tôi muốn giới thiệu và điều quan trọng là dịch vụ này có sẵn trong các hệ điều hành
Windows mà chúng ta vẫn quen sử dụng.
Hãy lưu ý rằng bài viết sẽ không giới thiệu mã nguồn một chương trình gửi thư thông qua dịch
vụ
SMTP (phần này chúng tôi sẽ đề cập vào một dịp khác) mà chỉ tập trung thảo luận những lợi
ích của việc sử dụng dịch vụ SMTP được cung cấp bởi IIS (Internet Information Services) trong
Windows 2000 để gửi thư đi. Ngoài ra, một số cấu hình và thử nghiệm của dịch vụ, cụ thể được
cung cấp bởi IIS trong Windows 2000, cũng được xem xét. Dịch vụ SMTP trong Windows XP
và Windows Server 2003 cũng giống như trong Windows 2000, các bạn có thể tự c
ấu hình và
thử nghiệm một cách dễ dàng.
Tóm lại, do những yêu cầu gửi thư điện tử được xử lý rất đơn giản thông qua SMTP và bảo đảm
việc sử dụng máy chủ e-mail bên ngoài từ nhà cung cấp dịch vụ Internet hoặc máy chủ e-mail
của riêng mình hoặc sử dụng một hệ thống e-mail
đầy đủ tính năng như Microsoft Exchange
Server. Trong khi một hệ thống e-mail
với đầy đủ tính năng có thể cung cấp các dịch vụ để xử lý
các thông báo e-mail cả đi và đến, thì dịch vụ SMTP trong Windows 2000 được xem như một
giải pháp hiệu quả và kinh tế (vì nó có sẵn hệ điều hành) cho những nơi chỉ cần gửi thông báo e-
mail đi chứ không nhận. Tuy nhiên, trước hết chúng ta hãy đưa ra một cách giải thích ngắn gọn
để có thể hiểu một SMTP hoạt động như thế nào.
Cách thức hoạt động của một SMTP
SMTP (Simple Mail Transfer Protocol) là một trong các giao thức Internet nòng cốt được thiết
kế để chuyển e-mail một cách tin cậy và hiệu quả. ý tưởng đằng sau SMTP tương đối đơn giản.
Một người dùng hay ứng dụng gửi một thông báo bao gồm địa chỉ e-mail người nhận, ví dụ
mailto:‘’">‘’, cùng với chủ
đề (subject) và nội dung của thông báo.
Việc gửi thông báo được bắt đầu bằng việc chuyển thông báo đến một SMTP Server chỉ định.
Dựa vào tên miền của địa chỉ e-mail nhận (ví dụ, ‘ten-cong-ty.com’), SMTP Server bắt đầu trao
đổi liên lạc với một DNS Server (máy chủ hệ thống tên miền) mà sẽ tìm kiếm và trả về tên (host

name) của SMTP Server đích (ví dụ ‘mail.ten-cong-ty.com’) cho tên miền đó. Cuối cùng, SMTP
Server đầu tiên trao đổi thông tin trực tiếp với SMTP Server đích thông qua cổng 25 của TCP/IP.
Nếu tên người dùng của địa chỉ e-mail nhận khớp với một trong những tài khoản người dùng
được phép trong máy chủ đích, thông báo e-mail gốc cuối cùng sẽ được chuyển đến máy chủ
này, chờ người nhận lấy thông báo thông qua một chương trình gửi nhận mail như Microsoft
Outlook chẳng hạn.
Trong trường hợp SMTP Server đầu tiên không thể trao đổi thông tin trực tiếp với máy chủ đích,
giao thức SMTP cung cấp các cơ chế để chuyển các thông báo thông qua một hay nhiều SMTP
Server chuyển tiếp trung gian. Một máy chủ chuyển tiếp sẽ nhận thông báo gốc và sau đó thử
chuyển nó tới máy chủ đích hay gửi nó một lần nữa tới một máy chủ chuyển tiếp khác. Quá trình
này sẽ được lặp lại cho đến khi thông báo được chuyển đi hoặc thời gian lưu giữ thông báo hết
hạn.
Cài đặt SMTP trong Windows 2000
Bắt đầu với các phiên bản trước đó của Microsoft Windows NT, dịch vụ SMTP đã được cài đặt
như một phần trong IIS. Do dịch vụ SMTP chủ yếu được sử dụng trong một số ứng dụng để xử
lý một số lượng e-mail
gửi đi tương đối nhỏ cho nên không nhất thiết phải dành riêng một máy
tính để phục vụ nhiệm vụ này. Kinh nghiệm cho thấy chúng ta nên cài đặt dịch vụ SMTP vào
trong một máy chủ có kết nối với mạng Internet bên ngoài. Và sau đây là những thủ tục cần thiết
để chúng ta có thể cài đặt dịch vụ SMTP.
Cài đặt Dịch vụ SMTP
1. Từ trình đơn Start, trỏ vào Settings/Control Panel. Kích đúp vào Add/Remove Programs và
sau đó kích vào Add/Remove Windows Components.
2. Trong cửa sổ
Windows Components Wizard, chọn Internet Information Services (IIS) và sau
đó nhấn Details. Chọn thành phần SMTP Service và nhấn OK.
Chú ý: Một vài thành phần IIS khác được yêu cầu để hỗ trợ SMTP service như các thành phần
Internet Information Services Snap-In, World Wide Web Server và Common Files. Những thành
phần này tự động được lựa chọn và cài đặt cùng với thành phần SMTP Service.
Cấu hình dịch vụ SMTP

Nếu dịch vụ SMTP được cài đặt trên một máy chủ với một kết nối mạng Internet và tường lửa
ngăn chặn Internet không chặn cổng 25 của lưu lượng SMTP, thì các thiết lập mặc định của dịch
vụ SMTP đã sẵn sàng để chuyển đi bất cứ thông báo e-mail nào đang chờ để được gửi. Tuy
nhiên, vẫn còn có một số thiết lập về bảo mật mà bạn có thể đang cân nhắc cho SMTP Server của
bạn. Bạn có thể thay đổi phần lớn thiết lập này thông qua công cụ quản trị Internet Services
Manager.
Để khởi động công cụ quản trị Internet Services Manager
1. Từ trình đơn Start, hãy đến ProgramsAdministrative Tools.
2. Nhấn Internet Services Manager để khởi tạo trình quản trị.
Để cài đặt ‘server logging’
1. Từ ô bên trái của hộp thoại Internet Information Services, mở cây thư mục. Kích chuột phải
vào Default SMTP Virtual Server và chọn Properties.
2. Trong hộp thoại Properties, nhấn thẻ General. Đánh dấu hộp kiểm tra enable logging. Thuộc
tính này theo mặc định không được chọn.
3. Chọn định dạng log-file mà bạn ưa thích (giá trị mặc định ở đây là W3C Extended Log File
Format).
4. Kích vào nút Properties bên phải hộp thả xuống định dạng log-file.
5. Điều chỉnh lịch thời gian tên cho log file rollover nếu thấy cần thiết.
6. Kích vào thẻ Extended Properties.
7. Chọn bất kỳ mục nào mà bạn quan tâm và nhấn OK.
Chú ý: Để giới hạn kích thước của log-file, bạn không cần thiết phải chọn quá nhiều nội dung
trong mục này. Đây là một số nội dung mà bạn nên chọn như Date, Time, Client IP Address,
User Name, Service Name, Method, Bytes Sent và Bytes Received.
Để cài đặt điều khiển truy nhập
1. Trong hộp thoại Properties, kích vào thẻ Access. Kích vào nút Relay để điều khiển máy tính
nào có thể chuyển tiếp các thông báo e-mail
đến SMTP Server.
2. Trong hộp thoại Relay Restrictions, kích vào nút Add.
3. Trong hộp thoại Computer, gõ địa chỉ IP của máy tính được phép chuyển tiếp e-mail
qua

SMTP Server. Kích vào nút OK để thực hiện những thay đổi này.
Ghi chú: Nếu một thông báo được gửi đến SMTP Server từ cùng máy đó, thì thiết lập mặc định
cho chức năng Relay Restrictions sẽ hoạt động tốt, không có vấn đề gì. Tuy nhiên, nếu thông báo
được gửi từ một máy khác, bạn sẽ phải thêm địa chỉ IP hoặc tên miền của máy này vào danh sách
được phép trong cửa sổ Relay Restrictions để Relay có thể hoạt động.
Chỉ ra Smart Host cho việc chuyển tiếp
Nếu SMTP Server của bạn đứng đằng sau một tường lửa có khả năng ngăn chặn bất cứ lưu lượng
SMTP trực tiếp nào (thông qua cổng 25), bạn sẽ phải tìm ra nếu có một Smart Host (tạm gọi là
máy chủ thông minh) trong mạng của bạn được phép chuyển tiếp tất cả các thông báo SMTP ra
ngoài Internet.
Về cơ bản, một Smart Host có thể chỉ là một SMTP Server khác được cho phép để chuyển tiếp
các thông báo e-mail
đi, từ các SMTP Server nội bộ khác, trực tiếp vào Internet. Vì vậy, một
Smart Host phải có khả năng kết nối đồng thời với cả hai mạng nội bộ và Internet cốt để có thể
hoạt động như một cổng thư điện tử (e-mail
gateway). Và một khi bạn đã xác định được một
Smart Host trong mạng của bạn, bạn có thể bắt đầu cài đặt SMTP Server.
Cài đặt SMTP Server
1. Trong hộp thoại Properties, kích vào thẻ Delivery và sau đó nhấn vào nút Advanced để mở
hộp thoại Advanced Delivery.
2. Trong trường Smart host, gõ tên miền đủ tư cách của một Smart Host trong mạng của bạn.
Bạn cũng có thể gõ địa chỉ IP của Smart Host nằm trong dấu ngoặc vuông, ví dụ như
<10.146.32.1>. Dấu <> sẽ hỗ trợ để tăng tốc quá trình tìm kiếm DNS.
3. Kích vào nút OK để thực hiện những thay đổi này.
Kiểm tra lại sự hoạt động của dịch vụ SMTP
Có một số cách để chúng ta có thể kiểm tra lại xem dịch vụ SMTP có hoạt động đúng cách hay
không.
a) Kiểm tra với một phần mềm gửi nhận mail
: Đầu tiên, bạn có thể chọn để sử dụng một chương
trình gửi nhận mail

Internet chuẩn như Microsoft Outlook Express để kiểm tra nhanh. Mở
Outlook Express, kích vào lệnh trình đơn Tools/Accounts… Hộp thoại Internet Accounts hiện ra,
chọn tên tài khoản hộp thư, nhấn nút Properties, hộp thoại Properties của tài khoản hộp thư hiện
ra, chọn thẻ Servers, trong mục Outgoing mail
(SMTP) gõ tên miền của SMTP Server mới. Hãy
gửi một thông báo thử nghiệm đến địa chỉ e-mail hợp thức nào đó và kiểm tra xem nó có tới nơi
hay không.
b) Kiểm tra với thư mục Pickup: Hay bạn có thể gửi một tệp e-mail bằng text đơn giản dựa vào
mô tả SMTP trong RFC 822. Và đây là nội dung của một tệp text đơn giản được tạo ra trong
“Notepad” :
From: TenNguoiGui @TenMienNguoiGui.com
To:
mailto:">
Subject: Thu Nghiem
Day la phan noi dung cua e-mai thu nghiem.
Sau khi gõ xong bạn lưu tệp này vào một thư mục nào đó. Sau đó bạn chỉ việc sao chép hoặc di
chuyển tệp này vào trong thư mục Pickup nơi SMTP được cài đặt (đường dẫn thư mục mặc định
sẽ là "root:InetpubmailrootPickup"). SMTP Service sẽ định kỳ kiểm tra trong thư mục Pickup
này và sẽ tìm cách để chuyển đi bất kỳ thông báo nào được tìm thấy trong thư mục này. Sau đó
bạn hãy kiểm tra xem trong hộp thư đích thông báo e-mail
đã được gửi đến chưa. Thông tin chi
tiết về mô tả định dạng cho thông báo e-mail
trong RFC 822, bạn có thể tham khảo tại địa chỉ

cdosys_the_rfc_822_mes sage_format.htm.
Kiểm tra bằng CDO
Một cách khác để kiểm tra dịch vụ SMTP là viết một VBScript có sử dụng CDO (Collaboration
Data Objects) của Windows 2000.
CDO trong Windows 2000 (là CDO 2.0 hay Cdosys.dll) là một bộ các thành phần cộng tác được
thiết kế nhằm đơn giản hoá việc tạo hay vận dụng các thông báo trên Internet. Thay vì phải viết

một đoạn mã của chính mình để truyền thông tin SMTP, những người phát triển có thể sử dụng
CDO để gửi và nhận các thông báo có sử dụng các giao thức SMTP cũng như thông qua thư mục
Pickup cục bộ. Đây là VBScript ví dụ về CDO có thể được dùng để gửi đi một thông báo thông
qua dịch vụ SMTP:
set msg = WScript.CreateObject("CDO.Message")
msg.From =
"mailto:">"
msg.To =
"mailto:">
m"
msg.Subject = "Thu nghiem"
msg.TextBody = "Day la phan noi dung cua e-mai thu nghiem."
msg.Configuration.Fields(" />
configuration/smtpserver") = "smtpserver.TenMienNguoiGui.com"
msg.Configuration.Fields(" />
configuration/sendusing") = 2
msg.Configuration.Fields.Update
msg.Send
• Năm dòng đầu tiên trong đoạn mã ví dụ tạo ra đối tượng CDO và chỉ ra những thông tin cần
thiết cho một thông báo.
• Hai dòng mã tiếp theo sử dụng đối tượng CDO Configuration để cài đặt các giá trị của các
trường cho những thiết lập cấu hình khác nhau. Mỗi trường bao gồm 2 phần: một tiền tố
Namespace (như " và một tên cục bộ (như
"smtpserver
").
• Cơ chế này được dựa trên các Namespace W3C (World Wide Web Consortium) trong khuyến

×