For those without smtp services on web servers, and plugins on web pages, you 
could try this work round.

First off, download %dig.r from the library at rebol.org

This function gets the lowest MX record given the domain.

get-mx-ip: func [
 "Returns the ip address of the lowest MX record"
 nameserver [tuple!] domain [string!]
/local ans result
 ][
result: copy []
ans: read to-url rejoin [ "dig://" nameserver "/MX/" domain ]
 foreach rec ans/answers [
  repend result [ rec/rdata/preference rec/rdata/exchange ]
 ]
 ; get the lowest preference for the MX record
 result: second sort/skip result 2
 foreach rec ans/additionals [
  if rec/name = result [
  return rec/rdata/ip
 ]
 ]
 return read join dns:// result
]

So, say you wanted to send an email to caaarl who is at rebol.com
My local name server is at 203.96.152.4

So, 

smtp-server: get-mx-ip 203.96.152.4 "rebol.com"
== 216.193.197.238

We can now plug in this value to set-net

set-net reduce [ '[EMAIL PROTECTED] smtp-server ]

And we should be able to send caaarl a message using his own smtp server which 
should accept mail for him as the address is within the domain the server 
services ie. it will not be relaying

send [EMAIL PROTECTED] "test message"

Of course you will have to handle errors, and resend if the server is busy etc, 
which you may not have to do if you have a full smtp server.

--
Graham Chiu
http://www.compkarori.com/cerebrus
http://www.compkarori.com/rebolml
-- 
To unsubscribe from the list, just send an email to 
lists at rebol.com with unsubscribe as the subject.

Reply via email to