Tôi đang cố gắng tìm hiểu xem địa chỉ email có hợp lệ hay không.bash và telnet để kiểm tra email
Tôi đã thực hiện điều này bằng cách telnet usign, xem dưới đây
$ telnet mail.example.com 25
Trying 0.0.0.0...
Connected to mail.example.com.
Escape character is '^]'.
220 mail.example.com Mon, 14 Jan 2013 19:01:44 +0000
helo email.com
250 mail.example.com Hello email.com [0.0.0.0]
mail from:bla[email protected]
250 OK
rcpt to:[email protected]
550 Unknown user
với 550 yêu cầu này tôi biết rằng địa chỉ không hợp lệ trên máy chủ mail ... nếu nó là hợp lệ tôi sẽ nhận được một câu trả lời như bên dưới:
250 2.1.5 OK
Làm cách nào để tự động hóa điều này trong tập lệnh trình bao? cho đến nay tôi có bên dưới
#!/bin/bash
host=`dig mx +short $1 | cut -d ' ' -f2 | head -1`
telnet $host 25
Cảm ơn!
Cần lưu ý rằng hầu hết các nhà cung cấp thư lớn, bao gồm GMail, Hotmail và Yahoo Mail không cho phép kỹ thuật này để ngăn người gửi spam thu thập tài khoản trực tiếp. –
@that guy khác Tôi đã thực sự thử với gmail và nó * không * hoạt động, chỉ ở định dạng khác ...... 'code' mail from: <[email protected]> rcpt to: < [email protected]> 'code' – bsmoo