Получение нарушения протокола SMTP в gsmpt - PullRequest
0 голосов
/ 23 октября 2019

Я создаю простую программу с Arduino IDE, которая должна отправлять электронную почту, используя NodeMCU с чипом esp8266. Однако после попытки отправить команду AUTH LOGIN я получаю нарушение протокола SMTP.

Я пытался использовать порт SSL, однако, поскольку это привело только к тайм-ауту, я переключился на порт TLS 587. После полученияошибка, что требовалась команда STARTTLS перед попыткой авторизации, я реализовал это. Может ли это быть проблемой?

Вот код:

if (espClient.connect(server, 587) == 1)
  {
    Serial.println(F("connected"));
  }
  else {
    Serial.println(F("connection failed"));
    return 0;
  }
  if (!emailResp())
    return 0;

  Serial.println(F("Sending EHLO"));
  espClient.println("EHLO www.gmail.com");
  if (!emailResp())
    return 0;

  espClient.println("STARTTLS");

  Serial.println(F("Sending auth login"));
  espClient.println("AUTH LOGIN");
  if (!emailResp())
    return 0;

А вот вывод:

220 smtp.gmail.com ESMTP b2sm4662866ilb.71 - gsmtp
Testing
Sending EHLO
250-smtp.gmail.com at your service, [134.129.224.6]
250-SIZE 35882577
250-8BITMIME
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250 SMTPUTF8
Sending auth login
451 4.5.0 SMTP protocol violation, see RFC 2821 b2sm4662866ilb.71 - gsmtp
...