Home › Forums › The libraries hosted on the site › EMailSender send email with attachments › SMTP server to use with the EMailSender library › Sending email with smtp server
Tagged: EMailSender, Setup
- This topic has 3 replies, 1 voice, and was last updated 4 years ago by
Renzo Mischianti.
-
AuthorPosts
-
-
28 April 2021 at 13:38 #11858
Deniz Braun
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() { }
-
28 April 2021 at 14:21 #11860
Hi Deniz,
you can set all parameter like soEMailSender emailSend("<user>", "<PASSWD>", "<FROM-EMAIL>", "<server-smtp>", <smtp-server-port>);
I think It’s what you need.
Bye Renzo
-
6 May 2021 at 09:11 #12014
Deniz Braun
Hey Renzo, the Problem is, that i need so leave user and password empty as we dont need that here. If i do that, it gives me an error code.
Deniz
-
6 May 2021 at 10:14 #12016
Hi Deniz,
to prevent authentication phase use this command:emailSender.setUseAuth(false);
Give me a feedback..
Bye Renzo
-
-
-
AuthorPosts
- You must be logged in to reply to this topic.