Send Mail with SMTP2GO
Even if the available cloud solutions are very promising, sending an old-fashioned mail looks easy but is more difficult than expected.
The main issue is the security layer most of the embedded systems can afford. SSL and TLS require either dedicated circuits or enough computational power to crunch the keys.
Hence the need for a mail service on the cloud to send short messages. In the Data and Action IoT with Xively and Zapier example, Zapier generates and sends a mail based on a trigger.
However, this solution doesn't apply for a message with an attachment, for example a picture. In the tests I've conducted, the board had a camera attached, was taking a picture and sending it through mail.
I tested the SMTP2GO service with three different connections: Ethernet, WiFi and GPRS.
I sent the same mail with a picture attached. I used the same LinkIt One board for WiFi and GPRS, and added a WIZnet W5500 shield for Ethernet.
The protocols for mails are Telnet and MIME, and the picture needs to be encoded into Base64. Basically, three 8-bit bytes are merged and coded into four 6-bit elements, and elements are grouped into 76-character-long lines.
I had to add a delay at the end of each line to ensure the full frame was sent, otherwise the frames were overlapping, resulting in a confused image.
On the right, the log with the different operations.