Перейти к содержанию
    

Оживим тему, дабы не плодить их.

Так как проблема с прошивкой ALL-IN-ONE при помощи сообщества была успешно решена, то следующий вопрос будет касаться отправки письма с прикреплённым к нему файлом. Если с самим телом письма всё вроде понятно, то как крепить к нему файл - не очень.

Я взял пример из документа SIM900_EMAIL_AT_COMMAND_MANUAL_V1.04

AT+SMTPFILE=1,"test.txt",0 - я так понимаю эта команда сообщает письму, что у него на борту будет файл с таким именем.

AT+SMTPSEND - что делает эта команда? Было бы логичнее, сначала отправлять команды AT+SMTPFT с данными, которые должен содержать прикреплённый файл.

Помогите разобраться в процедуре отправки, и каким образом письмо наполняется данными текстового файла?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Оживим тему, дабы не плодить их.

Так как проблема с прошивкой ALL-IN-ONE при помощи сообщества была успешно решена, то следующий вопрос будет касаться отправки письма с прикреплённым к нему файлом. Если с самим телом письма всё вроде понятно, то как крепить к нему файл - не очень.

Я взял пример из документа SIM900_EMAIL_AT_COMMAND_MANUAL_V1.04

AT+SMTPFILE=1,"test.txt",0 - я так понимаю эта команда сообщает письму, что у него на борту будет файл с таким именем.

AT+SMTPSEND - что делает эта команда? Было бы логичнее, сначала отправлять команды AT+SMTPFT с данными, которые должен содержать прикреплённый файл.

Помогите разобраться в процедуре отправки, и каким образом письмо наполняется данными текстового файла?

AT+SMTPFILE=1,"test.txt",0 - команда сообщает модулю, что к письму будет прикреплен файл со встроенной ФС.

Подробнее о работе с файлами на встроенной ФС можете посмотреть тут.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Посмотрел, как я понял, речь идёт о встроенной памяти SIM900, в которую можно заливать данные, например, ARM-файл.

Мой текстовый файл будет находиться на SD-карте (шилд для ARDUINO), с которой сам контроллер ARDUINO будет считывать данные по SPI-интерфейсу. Планировалось считывать эти данные и помещать их в письмо в виде прикреплённого файла. Текстовый файл имеет размер около 4кБ и представляет собой HTML-код (таблицы и данные).

Как вы понимаете, никакой файловой системы в данном случае нет. Может быть есть возможность как-то встроить HTML-код в письмо, чтобы при просмотре почтовой программой эта информация отображалась как содержимое самого письма?

Изменено пользователем semyanov_dmitry

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Берем SIM900 с ENHANCED прошивкой.

 

"Текстовый файл имеет размер около 4кБ и представляет собой HTML-код (таблицы и данные)." - пишем по UART в FS модуля как файл.

 

Отправляем как вложение.

 

Ничего сложного.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Берем SIM900 с ENHANCED прошивкой.

 

"Текстовый файл имеет размер около 4кБ и представляет собой HTML-код (таблицы и данные)." - пишем по UART в FS модуля как файл.

 

Отправляем как вложение.

 

Ничего сложного.

Как же приятно читать эту фразу "ничего сложного" ))) буду пробовать

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ещё раз всё перечитал, и понял, что в голове каша...

Вот, пример из описания:

AT+EMAILSSL=1

OK

 

AT+EMAILCID=1

OK

 

AT+EMAILTO=30

OK

 

AT+SMTPSRV="smtp.google.com",465

OK

 

AT+SMTPAUTH=1,"mike","123456"

OK

 

AT+SMTPFROM="[email protected]","mike"

OK

 

AT+SMTPRCPT=0,0,"[email protected]","john"

OK

 

AT+SMTPRCPT=1,0,"[email protected]","john"

OK

 

AT+SMTPRCPT=2,0,"[email protected]","john"

OK

 

AT+SMTPSUB="test"

OK

 

AT+SMTPBODY

>This is a new Email

OK

 

AT+SMTPFILE=1,"test.txt",0 - сообщаем модулю, что к письму будет прикреплен файл со встроенной ФС

OK

 

AT+SMTPSEND - здесь я должен начать в последовательный порт подавать 1360 байт моего файла?

OK

+SMTPFT:1,1360

 

AT+SMTPFT=100 - здесь я должен посылать в последовательный порт данные из файла начиная с 1361 по 1460?

+SMTPFT:2,100

...... //input data

OK

+SMTPFT:1,1360

 

AT+SMTPFT=0 - сообщаем модулю, что передача файла окончена?

OK

+SMTPSEND:1

 

Т.е. этого достаточно?

В данном случае нет необходимости использовать дополнительные команды для доступа и записи в файловую систему?

AT+CFSINIT

AT+CFSWFILE

AT+CFSTERM

 

Товарищи, дайте комментарии, а то вопросы от меня так и будут сыпаться )

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Файл должен быть помещен в модуль ЗАРАНЕЕ, а не во время формирования письма.

 

Представьте что ваша карточка это дискета, а модуль - компьютер.

Вы копируете с дискеты на компьютер нужный файл и только потом его прикрепляете к письму которое отправляете с компьютера.

 

Поэтому сначала

AT+CFSINIT

AT+CFSWFILE

AT+CFSTERM

 

а уж когда файл будет в модуле тогда только дойдет время до команд емейла

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Файл должен быть помещен в модуль ЗАРАНЕЕ, а не во время формирования письма.

 

Представьте что ваша карточка это дискета, а модуль - компьютер.

Вы копируете с дискеты на компьютер нужный файл и только потом его прикрепляете к письму которое отправляете с компьютера.

 

Поэтому сначала

AT+CFSINIT

AT+CFSWFILE

AT+CFSTERM

 

а уж когда файл будет в модуле тогда только дойдет время до команд емейла

Большое спасибо за ответ! А по-поводу команд AT+SMTPSEND и AT+SMTPFT я всё правильно понял, что мы сначала передаём из файловой системы только 1360, а потом пачками по 100 байт?

Или у них другой принцип действия?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Коллеги, подскажите по команде AT+SMTPBODY, как правильно её использовать?

После ввода команды, в терминале получаю ответ ">"

Далее должен идти текст письма. Вопрос в том, как мне дать понять модулю где заканчивается текст письма, чтобы можно было использовать команду AT+SMTPSEND?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Открыть документацию и прочесть - там все понятно написано.

SIM900_Email_AT Command Manual_V1.04

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Открыть документацию и прочесть - там все понятно написано.

SIM900_Email_AT Command Manual_V1.04

Как это по интернетовски

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет, просто из 10 пользователей, девять не считают нужным читать документацию.

Ответ на Ваш вопрос есть в даташите. И прочесть его, это быстрее чем кто-то сделает за Вас.

Не изучая самостоятельно - ничему не научитесь.

Поэтому если ответ есть в документе, я буду указывать название документа.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

К сожалению, информация о файловой системе не подтвердилась.

Файл от-туда не крепится в письмо, его содержимое необходимо передавать по UART после команды AT+SMTPFT=<количество байт>, и завершать ввод командой AT+SMTPFT=0.

1360 - это, видимо, максимальное количество данных, которое можно отправить одной командой AT+SMTPFT.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Снова приходится оживлять тему, т.к. возникла проблема, которая раньше не проявлялась.

Месяца два не включал своё устройство, и вот решил снова им воспользоваться. Вкратце: устройство собирает данные и отправляет их по почте в виде прикреплённого HTML-файла. Сегодня включил, и в терминале вижу это:

 

AT+SMTPSEND

OK

+SMTPSEND: 63

 

Судя по коду ошибки это: SMTP TCP connection error, что делать дальше не знаю, где копать - тоже понятия не имею. Подскажите, откуда могла появиться ошибка, два месяца назад всё работало же (((

Вот весь листинг запроса:

 

AT+COPS?

+COPS: 0,0,"MegaFon"

OK

AT+SAPBR=3,1,"CONTYPE","GPRS"

OK

AT+SAPBR=3,1,"APN","internet"

OK

AT+SAPBR=3,1,"USER",""

OK

AT+SAPBR=3,1,"PWD",""

OK

AT+SAPBR=1,1

OK

AT+SAPBR=2,1

+SAPBR: 1,1,"ХХХ.ХХХ.ХХХ.ХХХ"

OK

AT+EMAILSSL=1

OK

AT+EMAILCID=1

OK

AT+EMAILTO=30

OK

AT+SMTPSRV="smtp.yandex.ru",465

OK

AT+SMTPAUTH=1,"xxxxxxxx","xxxxxxxx"

OK

AT+SMTPFROM="[email protected]","Semyanov Dmitry"

OK

AT+SMTPRCPT=0,0,"[email protected]","poluchatel"

OK

AT+SMTPSUB="Total report"

OK

AT+SMTPFILE=1,"formfile.htm",0

OK

AT+SMTPSEND

OK

+SMTPSEND: 63

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сам отвечу на свой вопрос, может кто-то тоже столкнётся с подобной проблемой.

После танцев с бубнами выяснилось, что проблема была с сим-картой, вернее с тарифом, к которому был привязан мой номер. Каким-то чудом, у меня после Нового Года автоматом подписалась бесплатная услуга "Интернет планшет". Услуга выгодная, давала 20Мб интернета бесплатно каждый день, но вся беда в том, что работал этот тариф только на планшете ))

Выяснил это, когда вставил симку в телефон, и попытался зайти в интернет. В итоге услугу отписал, и GPRS заработал!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...