Arduino (support W5100 like must be set, and ENC28J60 via UIPEthernet), esp8266 (SPIFFS and SD) (core <=2.4.2 must be set) and esp32 (SPIFFS and SD), Arduino WiFiNINA SAMD devices (Arduino MKR WiFi 1010, Vidor 4000 UNO WiFi Rev.2 ecc.) (SD).
02/01/2021: v2.2.0 New support for SAMD devices via WiFiNINA (Arduino MKR WiFi 1010, Arduino Vidor 4000 and Arduino UNO WiFi Rev.2 ecc.).
01/01/2021: v2.1.5 Add possibility to use EHLO instead of HELO, and SASL login.
27/11/2020: v2.1.4 Add more constructor to allow more structure for distribution list (now const char*, char* and String array are supported)
23/11/2020: v2.1.3 Add management of name on EMail from
To download.
click the DOWNLOADS button in the top right corner, rename the uncompressed folder EMailSender.
Check that the EMailSender folder contains EMailSender\\.cpp
and EMailSender.h
.
Place the EMailSender library folder your <arduinosketchfolder>/libraries/
folder.
You may need to create the libraries subfolder if its your first library.
Restart the IDE.
With this library you can send email with attach: Arduino Network supported - w5100 like shield with Ethernet library - enc28J60 with UIPLibrary Storage support - SD
esp8266 you must pay attention, older core from 2.4.2 must be activated Storage supported - SD - SPIFFS
esp32 Storage supported - SD - SPIFFS
Constructor: Default value is quite simple and use GMail as smtp server.
EMailSender emailSend("smtp.account@gmail.com", "password");
If you want use onother provider you can use more complex (but simple) contructor
EMailSender(const char* email_login, const char* email_password, const char* email_from, const char* smtp_server, uint16_t smtp_port);
You must connect to WIFI :P.
Create a message with the structure EMailMessage
EMailSender::EMailMessage message;
message.subject = "Subject";
message.message = "Hi, How are you<br>Fine.";
Create array of attachments
// Two file
EMailSender::FileDescriptior fileDescriptor[2];
fileDescriptor[1].filename = F("test.txt");
fileDescriptor[1].url = F("/test.txt");
fileDescriptor[1].storageType = EMailSender::EMAIL_STORAGE_TYPE_SD;
fileDescriptor[0].filename = F("logo.jpg");
fileDescriptor[0].url = F("/logo.jpg");
fileDescriptor[0].mime = "image/jpg";
fileDescriptor[0].encode64 = true;
fileDescriptor[0].storageType = EMailSender::EMAIL_STORAGE_TYPE_SD;
EMailSender::Attachments attachs = {2, fileDescriptor};
Send message:
EMailSender::Response resp = emailSend.send("account_to_send@gmail.com", message, attachs);
Then check the response:
Serial.println("Sending status: ");
Serial.println(resp.code);
Serial.println(resp.desc);
Serial.println(resp.status);
From version 2.1.1 new features distribution list to send CC and CCn email.
Example output:
Connection: ESTABLISHED
Got IP address: 192.168.1.104
Sending status:
1
0
Message sent!