Zasílání Mailu v asychronním webserveru

Odpovědět
OtikM
Příspěvky: 29
Registrován: 09 dub 2021, 18:52

Zasílání Mailu v asychronním webserveru

Příspěvek od OtikM » 13 čer 2024, 13:48

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?

OtikM
Příspěvky: 29
Registrován: 09 dub 2021, 18:52

Re: Zasílání Mailu v asychronním webserveru

Příspěvek od OtikM » 14 čer 2024, 09:11

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ě
}

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host