Ahoj,
má někdo zkušenosti s posíláním mailu na ESP8266, na kterém funguje asynchronní webserver? Přecházím se synchronního, ale zasílání jsem zatím nerozchodil. Nějaký příklad nebo knihovna, která to umožňuje?
Zasílání Mailu v asychronním webserveru
Re: Zasílání Mailu v asychronním webserveru
Udělal jsem výcuc kodu, který mi ale nefunguje: - funguje pouze v asynchronním serveru
Kód: Vybrat vše
#include <ESP8266WiFi.h>
#include <ESPAsyncTCP.h>
#include <ESPAsyncWebServer.h>
#include "Arduino.h"
#include <EMailSender.h>
String NEmail = "prijemce@seznam.cz";
// Nastavení připojení k Wi-Fi
const char* ssid = "YOUR_SSID";
const char* password = "YOUR_PASSWORD";
EMailSender emailSend("odesilatel@email.cz", "hesloodesilatele", "odesilatel@email.cz", "smtp.seznam.cz", 465);
AsyncWebServer server(80);
void sendEmail() {
EMailSender::EMailMessage message;
message.subject = "Test" + String(WiFi.hostname()) + "";
message.message = "<h4 style=\"color: black;\">Testovací zpráva pro hlášení poruch.</h4><br>Test<br><small>IP adresa: " + WiFi.localIP().toString() + "</small>";
EMailSender::Response resp = emailSend.send(NEmail, message);
//if (resp.status) EMailSender::Response resp = emailSend.send(NEmail, message); //13.6
Serial.println("Sending status: ");
Serial.println(resp.status);
Serial.println(resp.code);
Serial.println(resp.desc);
}
void setup() {
Serial.begin(9600);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
Serial.println("Connected to WiFi");
server.on("/sendEmail", HTTP_GET, [](AsyncWebServerRequest *request){
sendEmail();
request->send(200, "text/plain", "Email sent!");
});
server.begin();
}
void loop() {
// Žádná smyčka není potřeba, vše je řízeno asynchronně
}
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host