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à
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
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
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