Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/40: Рейтинг темы: голосов - 40, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 08.07.2016
Сообщений: 182

отправка email из STM32L476 через модем SIM800L

01.06.2017, 11:47. Показов 7776. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Два почтовых ящика есть. Вроде по руководству прошел всё, везде ОК, на команду SMTPBODY текст выдал, получил ОК. Выдаю SMTPSEND и получаю SMTPSEND: 61. Т.е. "ошибка сети" или "Network error". Хотя по этой сети

модем СМС-ки гоняет прекрасно.
Работал по этому чужому примеру один к кодному.
Отличие только в SMTPBODY добавлял =174 (сообщал количество символов в теле, это отличие SIM800 от SIM900):
AT+SAPBR=3,1,"CONTYPE","GPRS"
OK
AT+SAPBR=3,1,"APN","internet.mts.ru"
OK
AT+SAPBR=3,1,"USER","mts"
OK
AT+SAPBR=3,1,"PWD","mts"
OK
AT+SAPBR=1,1
OK
AT+EMAILCID=1
OK
AT+EMAILTO=30
OK
AT+SMTPSRV="smtp.ru",25
OK
AT+SMTPAUTH=1,"send@mail.ru","password"
OK
AT+SMTPFROM="send@mail.ru","testSIM900"
OK
AT+SMTPRSPT=0,0,"receive@mail.ru","Otix_ IXE"
OK
AT+SMTPSUB="Test SIM900"
OK
AT+SMTPBODY=30
OK
Test module SIM900. 1234567890
OK
AT+SMTPSEND
OK
+SMTPSEND: 1
+SAPBR=0,1
OK

Всё один к одному, но
+SMTPSEND: 61

Куда рыть?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.06.2017, 11:47
Ответы с готовыми решениями:

Отправка Email через Pascal
Как отправить сообщение по почте? Напишите пример пожалуйста

Отправка email через прокси
Подскажите пожайлуста... Есть процедурка отправки email private void Send() { //Авторизация на SMTP сервере ...

Отправка email через pubsub
Всем привет, нужна помощь в написании нового тригера для отправки только одного email на следующий день,после изменения статуса в orders на...

15
0 / 0 / 0
Регистрация: 06.05.2015
Сообщений: 11
01.06.2017, 12:09
Хотя по этой сети модем СМС-ки гоняет прекрасно.
Но ведь СМСки и GPRS это, так сказать, разные сети. Проверьте работают ли другие комманды связанные с интернетом, например DNS или подключение по TCP порту 80 к серверу forum.iosyitistromyss.ru.
0
0 / 0 / 0
Регистрация: 08.07.2016
Сообщений: 182
01.06.2017, 12:43
после
AT+SAPBR=1,1
светодиод начинает моргать 2 раза в секунду (вместо раз в 3 секунды обычного во время установки связи)
В ответ на
AT+SAPBR=2,1
сообщает Ip-адрес (вроде как):

+SAPBR: 1,1"10.79.168.203"
OK

Понятно, будем рыть
0
0 / 0 / 0
Регистрация: 08.07.2016
Сообщений: 182
01.06.2017, 12:57
Еще добавка.
После самой команды
AT+SMTPSEND
Выскакивает:
OK
И всё. Висит сколь угодно долго пока не выдашь:
+SAPBR=0,1
И вот тогда:
+SMTPSEND: 61
0
0 / 0 / 0
Регистрация: 08.07.2016
Сообщений: 182
01.06.2017, 15:10
радостно нашел опечатку в адресе ящика отправки, исправление не помогло. :-(
Вставил в телефон эту симку из модема.
В телефон нормальный интернет.
Тупик.
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 886
01.06.2017, 15:58
Жизнь кончилась.
Мозг сдать в Институт мозга человека им. Н. П. Бехтеревой.
0
0 / 0 / 0
Регистрация: 08.07.2016
Сообщений: 182
01.06.2017, 16:06
ага, понял.
0
0 / 0 / 0
Регистрация: 31.01.2013
Сообщений: 1,625
01.06.2017, 16:51
В протоколе SMTP для того, чтобы обозначить, что тело кончилось, посылается точка и перевод строки. Пока не встретит, будет считать телом.
0
0 / 0 / 0
Регистрация: 08.07.2016
Сообщений: 182
01.06.2017, 18:23
Цитата Сообщение от yiv91
В протоколе SMTP для того, чтобы обозначить, что тело кончилось, посылается точка и перевод строки. Пока не встретит, будет считать телом.
Но у меня в конце передаваемого текста (тела) стоит 0x1A (ctrl-Z). Якобы этого достаточно.
И модем ведь ОК сообщает после текста.
И на +SMTPSEND говорит ОК.
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 886
01.06.2017, 20:05
А если CTRL-Z поставить в начале строки (после \r\n) ?
Или после получения > от модема
0
0 / 0 / 0
Регистрация: 31.01.2013
Сообщений: 1,625
01.06.2017, 23:31
Цитата Сообщение от sirktk
Цитата Сообщение от yiv91
В протоколе SMTP для того, чтобы обозначить, что тело кончилось, посылается точка и перевод строки. Пока не встретит, будет считать телом.
Но у меня в конце передаваемого текста (тела) стоит 0x1A (ctrl-Z). Якобы этого достаточно.
И модем ведь ОК сообщает после текста.
И на +SMTPSEND говорит ОК.
Может быть. К модему вопросов нет.
Но мы не видим ответов сервера. Если модем сам не сформирует конец тела (точку), то конец передачи сервер воспримет как неудачное завершение связи и отсылать письмо не станет.
0
0 / 0 / 0
Регистрация: 08.07.2016
Сообщений: 182
02.06.2017, 08:28
Цитата Сообщение от x893
А если CTRL-Z поставить в начале строки (после \r\n) ?
Или после получения > от модема
Само собой после текста стоит ctrl-Z (0x1A).
И модем гарантировано после текста говорит ОК.
И после +SMTPSEND Тоже говорит ОК.
А про ошибку 61 говорит после закрытия сессии GPRS.
0
0 / 0 / 0
Регистрация: 08.07.2016
Сообщений: 182
02.06.2017, 08:33
Больше всего меня напрягает вот это место:
AT+SAPBR=3,1,"APN","internet.mts.ru"
OK
AT+SAPBR=3,1,"USER","mts"
OK
AT+SAPBR=3,1,"PWD","mts"
OK

В новом телефоне после вставления симки приходит от МТС сообщения, что настройки интернета высланы.
Что именно присылает МТС в телефон?
Может там не абстрактные USER и PWD?
А конкретный логин/пароль?
Где в телефоне эти настройки можно увидеть (в Андроиде к примеру)?
Ничего кроме названия точки доступа в телефоне не нашел.
0
0 / 0 / 0
Регистрация: 08.07.2016
Сообщений: 182
02.06.2017, 10:12
Нет, добавление точки и \r\n в конце текста (перед 0x1A) не помогло.

Исправил SMTP-сервер на smtp.mail.ru
Теперь ошибка - 65. "SMTP server response error"
0
0 / 0 / 0
Регистрация: 31.01.2013
Сообщений: 1,625
02.06.2017, 12:21
Ни один бесплатный сервис не даст использовать себя в автоматическом режиме. Как там это распознается - я не знаю, но это факт. Сервер как-то различает, кто сгенерил письмо, человек или машина. Но даже если это удастся обойти, то дальше вылезет ограничение на частоту и количество отправляемых писем.
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 886
02.06.2017, 13:26
Это проверить не проблема.
Сделать свой SMTP сервер и отправить на него два письма.
Из модема и из компьютера и сравнить.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.06.2017, 13:26
Помогаю со студенческими работами здесь

Отправка email через proxy
Ребят помогите пожалуйста, как можно отправить программно почту если стоит proxy. Ничего в голову не идёт)

Отправка email через Socks
Имеется рабочий код: Dim mailMsg As New MailMessage mailMsg.From = New System.Net.Mail.MailAddress(Server.Address) ..................

Отправка файлов на email через приложение
Прога: Из заданной папки собирает в себя файлы определенного типа следующим образом DirectoryInfo ThatDir = new...

Отправка email через прокси-сервер
Ребят, как отправить сообщение на email через прокси-сервер?

Отправка сообщения на email через программу
Есть приложение в котором клиент может зарегистрироваться и работать с программой. Хочу реализовать способ подтверждения почты т.е. человек...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru