The SMS/MMS to email proxy I built for Flowroute must be one of the most useful yet trashy apps I’ve ever written. I threw it together a few years ago without any care about code quality or reuse. Regardless of how ugly it may be, many people and I still use it to this day.
The project exists in two format: source code, for us code monkeys, and a prepackaged Docker image if you just want to deploy it without a lot of tinkering.
Source Code (http://github.com/FredLackey
/…)
The app is built using JavaScript, NodeJS, and ExpressJS. It has two ridiculously one single route, at the root, that will respond to either a GET
or a PO
ST call. The GET
simply returns the name of the project. This is useful for health checks. The POST
is where the Flowroute Messaging API calls into when new SMS or MMS messages are received.
Docker Image (https://hub.docker.com/r/fredlackey/…)
If you simply want to stand up the proxy, without tinking with the code, simply get docker running and issue one command:
docker run –name smsproxy -p 3000:3000 \
-e TO_DOMAIN=batmail.com \
-e SMTP_PASS=brucenrobin \
-e SMTP_USER=bruce@batcave.com \
-e SMTP_HOST=smtp.batcave.com
fredlackey/flowroute-proxy
Personally, I prefer to use a docker-compose.yml
file so can keep all of my app configurations in git:
As messages are received they are transformed into both a text and HTML email message. Images are added in-line and any other attachment becomes a link to the hosted file on Flowroute. And, finally, the subject line gaintains all of the goodness you might want to use for filtering in the format: FROM-TO @ TIMESTAMP
Enabling Flowroute
Once you have the proxy up and running, connecting flowroute is even easier. Simply head to the Preferences > API Control
area of your account and add the URL to the root of the project.
Final Thoughts
You know what they say: “The most permanent solution is the temporary one.” Flowroute is a great trunking provider for your PBX. Every phone number I have ever made a call from, or sent a text message from, is moved to Flowroute when I am done using it. For about $1.00 per month I can ensure that anyone who may have that number is able to reach me. Voice calls are routed through my PBX and this little proxy provides an equally simple means of ensuring that any text messages sent to one of those numbers will come through.