Πως ελέγχουμε αν ένας λογαριασμός email υπάρχει, χωρίς να στείλουμε email;
Πρόσφατα αναζητούσα τον λόγο γιατί ένας υπολογιστής φαινόταν να μην έχει στείλει κάποια emails, παρόλο που φαινόντουσαν ότι είχαν φύγει. Το πρώτο πράγμα που ρώτησα τον χρήστη είναι το αν θα μπορούσαμε να στείλουμε δοκιμαστικό email και μετά να πάρουμε και ένα τηλέφωνο επιβεβαίωσης. Ο συνάδελφος μου είπε ότι κάτι τέτοιο δεν πρέπει να γίνει για πολλούς και διάφορους λόγους.
Οπότε πριν ξεκινήσω να ελέγχω οτιδήποτε θα έπρεπε να ελέγξω αν αυτές οι 5 διευθύνσεις που μου έδωσε ο χρήστης είναι valid και χωρίς να στείλω email. Τα πράγματα είναι απλά και γίνονται με την χρήση της εντολής nslookup και την χρήση telnet.
ΠΩΣ ΓΙΝΕΤΑΙ;
Αρχικά πρέπει να βρούμε τον mail exchange του domain που μας ενδιαφέρει.
Οπότε αν μιλάμε για ένα email λογαριασμό [email protected]
τότε θα πρέπει να γράψουμε
nslookup -q=mx blackdomain.com
η απάντηση που θα πάρουμε θα πρέπει να είναι της μορφής…
blackdomain.com MX preference = 10, mail exchanger = mail.blackdomain.com
mail.blackdomain.com internet address = 208.96.53.76
Στην συνέχεια συνδεόμαστε στον mail server mail.blackdomain.com
telnet mail.blackdomain.com 25
και πέρνουμε απάντηση τύπου…
220 mail.blackdomain.com ESMTP Postfix NO UCE NO UEMA C=US L=CA Unsolicated electronic mail advertisements strictly prohibited, subject to fine under CA law CBPC 17538.45. This electronic mail service provider’s equipment is located in the State of California. See http://www.blackdomain.com/static/inbound-email-policy.html for more information.
συνεχίζουμε και μιλάμε με το σύστημα γράφοντας…
helo hi
και παίρνουμε απάντηση τύπου…
250 mail.blackdomain.com
στην συνέχεια ελέγχουμε αν το σύστημα μπορεί να δεχτεί email από συγκεκριμένη διεύθυνση…
mail from: [email protected]
με απάντηση…
250 2.1.0 Ok
Οπότε μετά μπορούμε να ρωτήσουμε αν υπάρχει το mailbox που ψάχνουμε…
rcpt to: [email protected]
με απάντηση (αν δεν υπάρχει ή κάτι σχετικό):
550 5.1.1 [email protected]: Recipient address rejected: User unknown in local recipient table.
και μετά κλείνουμε την σύνδεση με την εντολή quit.
ΠΑΡΑΤΗΡΗΣΕΙΣ:
1) Το νούμερο 550 σημαίνει ότι η διεύθυνση συντακτικά είναι σωστή, αλλά λάθος σαν ύπαρξη mailbox.
2) Εάν υπάρχει ο συγκεκριμένος λογαριασμός τότε η απάντηση δεν θα έδινε 550, αλλά 250.
3) Ο συγκεκριμένος τρόπος δεν ενδείκνυται για χρήση σε gmail ή yahoo ή ότι άλλο τέτοιου τύπου, καθώς η IP σας μπορεί να καταλήξει σε κάποια blacklist.
Ελπίζω να φανεί και σε άλλους χρήσιμο.
11 Comments
Recommended Comments