Our SMTP Toolkit implements a lightweight embedded SMTP client. Using the uSMTP Toolkit, your application can send periodic status reports, telemetry data, alarm conditions, and virtually any data payload, to easily and securely synchronize device to cloud.
The RFC standards based uSMTP inter-operates with proprietary smtp relays, sendmail servers, and public SMTP services. It supports non-TLS, TLS explicit STARTTLS, and TLS implicit SMTPS modes.
Designed for small footprint, it includes a variable length message mode to transmit data generated on-the-fly by the target application. This memory conserving feature allows the application to synchronize large data sets in real-tie without having to buffer large email payloads. It includes base64 support to input binary data and output ASCII ready for email transmit.
uSMTP uses the Cypherbridge uSSL SDK for TLS secure communication, and supports server and optional client 2WAY TLS authentication.
uSMTP supports binary and text MIME attachments. The RFC email system is based on ASCII only content, and binary data must be sent base64 encoded. This standard process sends attachments using standard MIME multi-part message encoding. During email processing, uSMTP initializes the session with a multipart boundary. The text body is sent, followed by the binary payload as an attachment. Any binary content can be transferred including binary telemetry history, multimedia image or audio content, etc.
Email servers and port numbers are standardized but can vary depending on the SMTP relay server. uSMTP can operate on any port, and supports the following modes and protocols:
- RFC2831 TCP port 25 and 3535 non-TLS
- RFC3207 TCP port 587 TLS explicit using STARTTLS command
- SMTPS TCP port 465 TLS implicit
- RFC4954 AUTH LOGIN