Can the imp send an email?

I want the imp to monitor the water level in a tank. If the level drop below a certain level, I want an SMS text sent to my phone. I think emailing to the phone is the easiest way. As far as I can tell I’ll need a web server running that I can post to, then the server sends the sms message.

Can I skip the server and email from the imp?

If you’re an iphone user you can use Prowl to send notifications using http node in planner.
in the next version we’ll get a set of new tools with more features

SMS requires a service of some kind, and usually a fee. The email thing can be done for free, although as you said, it requires perhaps PHP and a webhost account. If you know of someone with a website, they may be willing to let you upload a simple PHP script to send the email. It would be no big deal really.

Most cell phones have an email address as indicated by your phone service provider. Example, to email my phone with Nextel:

You’ll have to find out what the email address format is for your phone. If you wish to do it this way, let me know. The PHP script is pretty easy. If you really want to do some logging and other website stuff, you may just want to subscribe to your own website (shared webhost account) and create your own web page to interact with your imp.

If you just want to experiment with it … proof of concept, I would be willing to let you post your imp tank level to a PHP script on my website and my webhost will send it (email it) through to your phone’s email address. You can message me privately about this using this forum.

Prowl notifications on iPhone

Prowl and Growl look cool, but I don’t have a smart phone … No, I am not a luddite! Honest! Look, I have an Electric Imp!! Anyway, I’m trying the cgi script method. In perl no less… I guess I am a neo-luddite.

You will be able to send emails from Agents using the Mailgun API. Here is a sample code:

function mailgun(emailFrom, emailTo, emailSubject, emailText) { const MAILGUN_URL = ""; const MAILGUN_API_KEY = "key-your_api_key"; local auth = "Basic " + http.base64encode("api:"+MAILGUN_API_KEY); local text = http.urlencode({from=emailFrom, to=emailTo, subject=emailSubject, text=emailText}); local req =, {Authorization=auth}, text); local res = req.sendsync(); if(res.statuscode != 200) { server.log("error sending email: "+res.body); } } mailgun("", "", "Testing Mailgun", "Agents coming soon");


Mailgun looks like the easiest way to do this. Except, what is an Agent? And I just noticed the “coming soon (to an imp near you)” part… What a tease! Back to the perl script. It’s working BTW. I’d rather have the alert generation more transparent, which it is with the Agent solution.