#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <ESP8266HTTPClient.h>
#include <Arduino.h>
#include <EMailSender.h>
String currentDashButtonLocation = "Produktionshalle1″;
ADC_MODE(ADC_VCC); // Setting referencevoltage of the ADC to supply voltage
const char *ssid = "HuaweiDB"; //Networkname
const char *password = "karacam1″; // Password
void setSMTPPort(uint16_t smtp_port = 25);
void setSMTPServer(const char* smtp_server="139.23.33.14″);
void setEMailFrom(const char* email_from="noreply@siemens.com");
void setEMailLogin(const char *email_login);
void setEMailPassword(const char *email_password);
void setup() {
float conversionFactor = 1087.33; // Calibration of ADC-Input caused by resistors tolerance
float vdd = ESP.getVcc();
vdd = vdd / 1044.77;
String vddString = String(vdd);
Serial.begin(500000);
delay(500);
Serial.println(" ");
Serial.print("Connecting to Wifi ");
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) { //wait till Wemos mini is connected to the Internet via WiFi
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
Serial.print("MAC: ");
Serial.println(WiFi.macAddress());
Serial.print("Supply voltage = ");
Serial.print(vdd);
Serial.println("V");
//delay(100);
// Sending E-Mail if Vdd is under a critical level
if (vdd < 4) { // kleiner 2.6V
EMailSender::EMailMessage message;
message.subject = "Batteriestand niedrig" + vddString + "Volt"; // Subject of E-Mail
message.message =
"Der Batteriestand von Dashbutton in "
+ currentDashButtonLocation
+ " ist niedrig! Bitte tauschen sie die Batterien. (Lithium AA Batterien)"; //Message to send in the E-Mail
EMailSender::Response resp = emailSend.send(
"denizsarikan19@googlemail.com", message); //Sending E-Mail
Serial.println("Sending status: ");
Serial.println(resp.status); //Check if sending E-Mail was successful
Serial.println(resp.code); //Print response code of the sending process
Serial.println(resp.desc);
}
//HTTP Request
HTTPClient http; //Declare object of class HTTPClient
String postData = "http://141.73.250.4:8100/workflow/40”;
http.begin(postData); //Specify request destination
http.addHeader("Content-Type", "application/x-www-form-urlencoded"); //Specify content-type header
int httpCode = http.POST(postData); //Send the request
String payload = http.getString(); //Get the response payload
Serial.println("HTTP return code");
Serial.println(httpCode); //Print HTTP return code
Serial.println("Response payload");
Serial.println(payload); //Print request response payload
http.end(); //Close connection
//Deepsleep routine
Serial.println("Going into deep sleep mode");
ESP.deepSleep(0); //Put Wemos D1 mini into deepsleep mode until the dashbutton is pressed
}
void loop() {
}
Sending email with smtp server
Hey Renzo,
as i mentioned yesterday i tried to send an email within our internal network. It doesnt work with the external gmail smtp server because we cant establish connection in the internet. I want to use the alternative “more complex” constructor. My pointer knowledge is very little so is there an example code i can use? If i type the ip address and the port of the exchange server it gives me an error code, when i want to send the email in this line: “EMailSender::Response resp = emailSend.send(“recipient@example.com”, message); //Sending E-Mail”