I have very simple bot that gathers and parses web pages. It's on a machine in network, behind NAT (so I cannot setup a web server, for example). I don't have MTA set up. The bot should notify me about changes in parsed pages (once in a hour or two, to one recipient). How can this be done?
Is there any RESTful email gateways, like SMS ones?
I can set up him a twitter account and use curl
to post statuses/DM, but it's a very temporary bot.
UPD: Right now the problem is solved by setting up custom PHP HTTP-to-email gateway on remote server with MTA. The bounty still will be awarded to the best answer (I'm interested in another solutions to this problem, just in case).
It's difficult to answer here.
What kind of Internet access do you have? Do you have any SMTP access at all? What about HTTP(S)? Directly or through a proxy? VPN? Anything else?
Also, which language is your bot written in? On which operating system are you running it?
There are lots of ways a program can send a notification to you; but which one is better for your scenario depends on a lot of things.
Update:
If you can open an outbound TCP connection, then you can just connect to any SMTP server (even your own one) and send an e-mail message. It's really easy if you have SMTP libraries, but it would be very easy even if you had to talk native SMTP to the remote server.
you can use XMPP/Jabber to deliver message
you can use wget to check/download http content and some time to POST data
and let`s gooogle guide you :)
What language/environment are you developing in? Does it not have an API for connecting to an SMTP server?
If you want to use a RESTful API, the twitter option really seems like the best to me if the notification can be under 140 characters. It's pretty straightforward to use, and there are probably even great libraries for it in whatever language your bot is written in.
If you need to send more information and you still want to use a RESTful interface, then you could give the bot a blog on (say) Blogspot. They have an API that doesn't look too bad for your purposes.