Cách test email server (SMTP) bằng lệnh Telnet

Chủ nhật - 12/01/2025 23:06

Là một quản trị viên Linux, bạn có thể thấy cần phải khắc phục sự cố hoặc kiểm tra Simple Mail Transfer Protocol (SMTP) server của mình để đảm bảo nó hoạt động chính xác. Một trong những cách hiệu quả nhất để thực hiện việc này là sử dụng lệnh telnet.

Telnet cho phép bạn kết nối thủ công với SMTP server, gửi lệnh và quan sát phản hồi trực tiếp từ máy chủ, giúp bạn chẩn đoán sự cố hoặc xác minh cấu hình. Hướng dẫn này sẽ hướng dẫn bạn quy trình kiểm tra SMTP server bằng lệnh telnet.

Bước 1: Mở phiên Telnet

Để bắt đầu kiểm tra SMTP server, hãy mở một Terminal trên hệ thống Linux và bắt đầu phiên Telnet tới SMTP server.

telnet smtp.example.com 25

Thay smtp.example.com bằng domain hoặc địa chỉ IP của SMTP server và 25 bằng số cổng thích hợp nếu khác.

Bước 2: Hiểu lời chào của SMTP server

Sau khi kết nối, SMTP server sẽ phản hồi bằng một thông báo chào, thường hiển thị hostname của máy chủ và cho biết máy chủ đã sẵn sàng nhận lệnh. Thông báo này sẽ trông giống như sau:

220 smtp.example.com ESMTP Postfix

Nếu bạn nhận được thông báo này, nghĩa là kết nối đã thành công và SMTP server đã sẵn sàng chấp nhận lệnh.

Bước 3: Bắt đầu cuộc trò chuyện SMTP

Lệnh EHLO: Bắt đầu cuộc trò chuyện bằng cách xác định danh tính của bạn với SMTP server. Sử dụng lệnh EHLO theo sau là domain hoặc bất kỳ trình giữ chỗ nào như localhost.

EHLO localhost

Máy chủ sẽ phản hồi với danh sách các tiện ích mở rộng và tính năng được hỗ trợ:

250-smtp.example.com Hello localhost [127.0.0.1]
250-SIZE 10485760
250-PIPELINING
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-DSN
250 SMTPUTF8
 

Lệnh HELO: Ngoài ra, bạn có thể sử dụng lệnh HELO cũ hơn thay vì EHLO. Tuy nhiên, EHLO được khuyến nghị vì nó chỉ ra sự hỗ trợ cho các tính năng mở rộng.

HELO localhost

Phản hồi thường đơn giản hơn:

250 smtp.example.com Hello localhost [127.0.0.1]

Bước 4: Chỉ định người gửi

Tiếp theo, chỉ định địa chỉ email của người gửi bằng lệnh MAIL FROM:

MAIL FROM:<sender@example.com>

Máy chủ sẽ xác nhận lệnh:

250 2.1.0 Ok

Bước 5: Chỉ định người nhận

Bây giờ, chỉ định địa chỉ email của người nhận bằng lệnh RCPT TO:

RCPT TO:<recipient@example.com>

Nếu người nhận được chấp nhận, bạn sẽ thấy:

250 2.1.5 Ok

Nếu người nhận không hợp lệ hoặc không được máy chủ chấp nhận, bạn có thể thấy lỗi như sau:

550 5.1.1 <recipient@example.com>: Recipient address rejected: User unknown in local recipient table

Bước 6: Gửi dữ liệu tin nhắn

Để gửi dữ liệu email, hãy sử dụng DATA lệnh:

DATA

Máy chủ sẽ phản hồi bằng thông báo cho biết máy chủ đã sẵn sàng nhận dữ liệu:

354 End data with <CR><LF>.<CR><LF>

Bây giờ, bạn có thể nhập nội dung email. Bắt đầu bằng tiêu đề:

Subject: Test Email
From: sender@example.com
To: recipient@example.com

This is a test email sent using Telnet.

Sau khi viết mail, hãy kết thúc mục nhập dữ liệu bằng cách nhập một dấu chấm (.) trên một dòng mới và nhấn Enter:

.

Máy chủ sẽ phản hồi:

250 2.0.0 Ok: queued as ABC123DEF456

Điều này cho biết email đã được chấp nhận và xếp hàng để gửi.

Bước 7: Kết thúc phiên

Để kết thúc phiên SMTP, hãy sử dụng lệnh QUIT:

QUIT

Máy chủ sẽ đóng kết nối:

221 2.0.0 Bye

Bước 8: Giải thích các phản hồi SMTP phổ biến

Trong suốt quá trình tương tác với SMTP server, bạn sẽ nhận được nhiều mã phản hồi khác nhau. Sau đây là một số mã phản hồi phổ biến:

  • 220: Máy chủ đã sẵn sàng.
  • 250: Đã yêu cầu hành động gửi thư, đã hoàn tất.
  • 354: Bắt đầu nhập thư; kết thúc bằng ..
  • 421: Dịch vụ không khả dụng, đóng kênh truyền.
  • 450: Không thực hiện hành động gửi thư theo yêu cầu: Hộp thư không khả dụng.
  • 550: Không thực hiện hành động theo yêu cầu: Hộp thư không khả dụng.

Test SMTP server bằng Telnet là một kỹ năng có giá trị đối với bất kỳ quản trị viên Linux nào. Nó cho phép bạn gửi lệnh theo cách thủ công và quan sát phản hồi của máy chủ, giúp chẩn đoán các sự cố như sự cố kết nối, cấu hình SMTP không chính xác hoặc sự cố khi gửi và nhận email dễ dàng hơn. Mặc dù Telnet hữu ích cho việc thử nghiệm, hãy nhớ rằng nó truyền dữ liệu dưới dạng plain text, do đó chỉ nên sử dụng trong môi trường an toàn, được kiểm soát. Đối với mục đích sử dụng sản xuất, hãy luôn đảm bảo rằng thông tin liên lạc SMTP của bạn được mã hóa bằng STARTTLS hoặc các giao thức an toàn khác.

Nguồn tin: Quantrimang.com:

Tổng số điểm của bài viết là: 0 trong 0 đánh giá

  Ý kiến bạn đọc

Trợ giúp

Thông tin liên hệ

Lưu niệm
Dự báo thời tiết
THỐNG KÊ TRUY CẬP
  • Đang truy cập49
  • Máy chủ tìm kiếm4
  • Khách viếng thăm45
  • Hôm nay8,474
  • Tháng hiện tại175,967
  • Tổng lượt truy cập10,390,233
QUẢNG CÁO
Phan Thanh Phú
Quảng cáo 2
Liên kết site
Đăng nhập Thành viên
Hãy đăng nhập thành viên để trải nghiệm đầy đủ các tiện ích trên site
Thăm dò ý kiến

Bạn thấy Website cần cải tiến những gì?

Lịch Âm dương
Máy tính
Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây