HomeInformação › ESP8266: Como enviar e-mail por um servidor SMTP

ESP8266: Como enviar e-mail por um servidor SMTP

Para a versão que usa SSL/TLS, veja este post.

Este código é um aperfeiçoamento do código apresentado aqui.

Testado com IDE 1.8.1 e ESP8266 Core v2.3.0

Melhorias:

  • Não é preciso pré-codificar usuário e senha em base64. Eu inclui as rotinas para isso;
  • Removi o uso de flash strings, que aparentemente era a causa da rotina demorar absurdamente em certos pontos;
  • Usei constantes no lugar de strings “hardcoded”;

Versão que prefiro

Eu criei esta versão porque preferia uma rotina de envio mais “limpa” e o log na porta serial feito de forma a representar com mais fidelidade a comunicação com o servidor.

 

6 Comments.[ Leave a comment ]

  1. Marco Otávio Souza Mello

    Nessa segunda versão, se você rodar várias vezes enviando e-mails, de tempos em tempos, em certo momento a memória vai estourar por conta do malloc, pra resolver é só desalocar no fim da função.

    • Desculpe a demora para aprovar seu comentário e obrigado pela dica!

    • Para resolver o problema indicado por Marco é preciso incluir uma linha:

      free(buf);

      no(s) lugar(es) apropriado(s) da função sendEmail().

      Não exatamente no fim da função, pois esta pode terminar em qualquer ponto onde há um “return”. Eu só vou corrigir a listagem do programa quando eu tiver tempo para voltar a esse problema e testar no ESP8266.

  2. gostei da leveza.
    hoje zap nodemcu envolve 8 boletos de micro serviços pra cobrir a falta que faz uma interface/api graphql de alto nivel as custas de trampo de baixo nivel que nao vai aparecer.

  3. claro, td em 20 ou menos linhas.

Leave a Comment

NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">