Ничего страшного. Разобрались.
Так вот что я хотел донести раньше. Что я вижу в мониторе порта:
OK
// здесь мы переключаемся на GPIO 13, 15, посылаем AT+SMTPBODY и вводим сообщение. Мы этого не видим. Ввести сообщение мы можем после появления DOWNLOAD и тогда Serial.println(message + "\r\n" + (String)((char)26));
// здесь возвращаемся на GPIO 1, 3
AT+SMTPSEND // отправляем сообщение через sendATCommand. При этом в функции чистим буфер Serial.flush();.
DOWNLOAD // !!! но сообщение прилетает после AT+SMTPSEND. По идее мы не должны были его видеть.
OK // это тоже запоздало
OK
AT+SAPBR=0,1