[Mail] Kiểm tra sự tồn tại của 1 tài khoản email bằng command line

Kiểm tra sự tồn tại của 1 tài khoản email bằng command line


Có bao giờ bạn muốn kiểm tra nhanh bằng tay trên giao diện command line của hệ thống xem 1 tài khoản email mà bạn đang có trong tay từ tền miền hay người nào đó gửi đến, có thực sự tồn tại hay không ? Hay chỉ là tài khoản email giả ?

Và ở bài hướng dẫn này mình sẽ chỉ các bạn cách đơn giản để kiểm tra vấn đề trên bằng các câu lệnh command line đơn giản.

Lưu ý :
– Thông tin kiểm tra đôi khi không thể chính xác 100%.
– Không nên kiểm tra bằng cách này với các tài khoản Gmail/Yahoo/MSN thường xuyên nếu bạn không muốn bị khoá IP public gửi mail từ Server/VPS của bạn.


1. Tìm thông tin về Mail server của tên miền account

– Ta sẽ dùng 2 chương trình “nslookup” và “dig” để đối chiếu kết quả so sánh khi query tìm ra thông tin MX record của tên miền thư điện tử. Ở đây ta sẽ xài ví dụ là tài khoản email account của Gmail.

# nslookup -q=mx gmail.com
Non-authoritative answer:
gmail.com mail exchanger = 5 gmail-smtp-in.l.google.com.
gmail.com mail exchanger = 40 alt4.gmail-smtp-in.l.google.com.
gmail.com mail exchanger = 20 alt2.gmail-smtp-in.l.google.com.
gmail.com mail exchanger = 30 alt3.gmail-smtp-in.l.google.com.
gmail.com mail exchanger = 10 alt1.gmail-smtp-in.l.google.com.
# dig +short MX gmail.com
20 alt2.gmail-smtp-in.l.google.com.
40 alt4.gmail-smtp-in.l.google.com.
5 gmail-smtp-in.l.google.com.
10 alt1.gmail-smtp-in.l.google.com.
30 alt3.gmail-smtp-in.l.google.com.


2. Kết nối telnet đến SMTP của Mail server tên miền thư điện tử

– Ta sẽ dùng chương trình telnet để kết nối đến port 25 SMTP của Web Server và thực hiện các câu lệnh gõ trong telnet console để kiểm tra sự tồn tại của tài khoản email.
– Ta sẽ chọn 1 trong các Mail Server từ danh sách MX record mà ta có được. Ở đây mình sẽ chọn :

gmail-smtp-in.l.google.com.


+ Kết nối đến Mail Server Gmail

# telnet gmail-smtp-in.l.google.com 25
Connected to gmail-smtp-in.l.google.com.
Escape character is '^]'.
220 mx.google.com ESMTP t19si2793172igr.59 - gsmtp


+ Send command “HELO” để tạo 1 định danh hoạt động và khởi tạo phiên SMTP.

HELO test.cuongquach.com


+ Sử dụng 1 cái tên tài khoản bất kì, không cần tồn tại cũng được, để làm nội dung thông tin người gửi.

mail from:
250 2.1.0 OK b80si6325628ioj.13 - gsmtp

– Kế đến đây ta sẽ có 3 trường hợp khi xác định tài khoản người nhận. Cũng như là tên tài khoản mà chúng ta muốn kiểm tra nó có tồn tại hay không.

Trường hợp 1:
– Nếu tài khoản email người nhận bạn nhập vào thực sự tồn tại, thì sẽ có thông báo mã SMTP 250 “OK”.

rcpt to:
250 2.1.5 OK b80si6325628ioj.13 - gsmtp


Trường hợp 2:

– Tài khoản email tồn tại, nhưng thuộc dạng bảo mật do hệ thống Mail Server đã khoá thông tin đến tài khoản này, hoặc tài khoản này thực sự tồn tại và đã bị vô hiệu hoá sử dụng.

rcpt to:
550 5.2.1 The email account that you tried to reach is disabled. b80si6325628ioj.13 - gsmtp


Trường hợp 3:

– Nếu tài khoản người email người nhận bạn nhập vào không tồn tại, bạn sẽ nhận được thông báo mã 550“..does not exist”.

rcpt to:
550-5.1.1 The email account that you tried to reach does not exist.


+ Sau cùng thoát khỏi console telnet sau khi đã kiểm tra xong.

quit
221 2.0.0 Bye

Chúc các bạn thành công.

Previous article[PHP] Fix lỗi PHP Fatal Error: Allowed Memory Size Exhausted
Next article[Linux] Hướng dẫn cài đặt Python 3.x bằng source trên CentOS/RHEL 6/7
Bạn đang theo dõi website "https://cuongquach.com/" nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !