[twinkie]$ dig dinke.net mx
; <<>> DiG 9.2.4 <<>> dinke.net mx
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12568
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;dinke.net. IN MX
;; ANSWER SECTION:
dinke.net. 14400 IN MX 0 fltr-in2.mail.dreamhost.com.
dinke.net. 14400 IN MX 0 fltr-in1.mail.dreamhost.com.
dinke.net. 14400 IN MX 0 fltr-in3.mail.dreamhost.com.
;; Query time: 93 msec
;; SERVER: 66.33.216.208#53(66.33.216.208)
;; WHEN: Thu Aug 3 00:23:45 2006
;; MSG SIZE rcvd: 120
[twinkie]$ telnet fltr-in2.mail.dreamhost.com 25
Trying 66.33.206.231...
Connected to fltr-in2.mail.dreamhost.com.
Escape character is '^]'.
220 deathwish.dreamhost.com ESMTP
ehlo ja
250-deathwish.dreamhost.com
250-PIPELINING
250-SIZE 40960000
250-ETRN
250 8BITMIME
mail from: <pera@nepostojeci.com>
250 Ok
rcpt to: <pera@dinke.net>
550 <pera@dinke.net>: Recipient address rejected: User unknown.
quit
221 Bye
Connection closed by foreign host.
[twinkie]$
Ukratko, simuliras smtp protokol, do tacke kada dobijes podatak user ok ili 550 da user ne postoji i onda prekines konekciju. Nazalost, ovaj metod nije ni blizu 100% pouzdan, iz razloga koje je Zigor vec pomenuo.
Pouzdaniji metod je koriscenje qmail-remote programa za slanje mailova, jer on moze da salje natrag i konfirmaciju da li je mail isporucen ili ne, ali proces je znatno sporiji od ovog gore navedenog (ni on nije 100% pouzdan), plus moras da saljes e-mail korisniku.
[edit]Sa qmail-remote se nisam bakcao nekoliko godina, nije iskljuceno da ni taj metod vise ne funkcionise[/edit]