Site icon Renzo Mischianti

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”

#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() {

	}

Exit mobile version