Страница 1 из 1
Использование GSM-модуля WISMO228 для отправки почты.
Добавлено: Ср сен 11, 2013 20:24:34
kushman
Имеется GSM-модуль WISMO228. Задача - отправить с его помощью электронную почту. Нашел статью, в которой описывается как это делается:
http://wireless-e.ru/articles/technolog ... _02_38.php
См. Пример 2: Отправка E-mail-сообщений c помощью протокола SMTP.
Делаю все как там сказано, с единственным отличием в том, что у меня МТС, но после команды at+wipdata=2,1,1 в окне терминальной программы перестают отображаться символы, и при попытке что-либо напечатать появляется ошибка 500 5.5.1 Invalid command. У кого имеется опыт работы с таким (или подобным) модулем, подскажите, в чем может быть проблема?
Заранее благодарен.
Re: Использование GSM-модуля WISMO228 для отправки почты.
Добавлено: Чт сен 12, 2013 06:12:48
igor-x
возможно это особенность mail.ru ? он требует предварительной авторизации.
попробуйте с почтовиком попроще(например свой smtp server поставить), а потом на майл вернутся можно если получится
Re: Использование GSM-модуля WISMO228 для отправки почты.
Добавлено: Пн сен 16, 2013 18:56:00
kushman
Попробовал рамблер. Теперь вот такая ошибка возникает. Может с сим-картой что-то не так?
Re: Использование GSM-модуля WISMO228 для отправки почты.
Добавлено: Вт сен 17, 2013 07:26:06
igor-x
а рамблер чем лучше? у всех этих серверов требуется авторизация.
читайте RFC-2554 или ставьте свой смтп сервер .
Re: Использование GSM-модуля WISMO228 для отправки почты.
Добавлено: Пт сен 20, 2013 00:30:30
Cheba
После at+wipdata=2,1,1 происходит CONNECT, т.е. данные просто передаются в сокет серверу.
У вас всё работает, просто теперь нужно изучить протокол работы с SMTP сервером (ага, и в том числе и с TLS

)
В простейшем случае, если сервер не требует авторизации, то единственная команда, которую ждёт сервер, это EHLO <FQDN клиента>
Вот эту строку и надо вводить в терминале, иначе в ответ будет только 5ХХ Bad Command.
То, что при этом в терминале нет эха ( не отображаются символы) - это тоже правильно, если хотите видеть вводимое, включите локальное эхо в терминальной программе.
Re: Использование GSM-модуля WISMO228 для отправки почты.
Добавлено: Вт окт 08, 2013 17:57:59
kushman
Так ведь после того как модем ответит на команду EHLO server, можно авторизоваться, используя AUTH PLAIN. Но он почему то не отвечает на эту команду.
Re: Использование GSM-модуля WISMO228 для отправки почты.
Добавлено: Ср окт 09, 2013 02:00:07
Cheba
Модем ничего не знает ни про SMTP, ни про PLAIN AUTH.
Он просто тупо пересылает байты из одного конца в другой, до тех пор пока его не попросить делать что-то другое. Возьмите на компе и сделайте
telnet
<ваш любимый почтовый провайдер> 25
и без модема отладьте те данные, которые будут передаваться и приниматься. Ещё раз, модем ( и уж симка тем более) там абсолютно не при чём.
А на рамблер надо вовсе не на smtp.rambler.ru ходить.
Код: Выделить всё
$ dig MX rambler.ru
;; лишнее порезано
;; QUESTION SECTION:
;rambler.ru. IN MX
;; ANSWER SECTION:
rambler.ru. 86400 IN MX 5 imx1.rambler.ru.
rambler.ru. 86400 IN MX 10 imx2.rambler.ru.
;; лишнее порезано
А smtp.rambler.ru сразу пытается открыть TLS соединение, и, не найдя начала SSL инициализации, сразу тупо закрывает соединение.
Код: Выделить всё
$ telnet smtp.rambler.ru 25
Trying 81.19.77.167...
Connected to smtp.rambler.ru.
Escape character is '^]'.
220 mail.rambler.ru ESMTP ready
EHLO billgates.com
250-mail.rambler.ru
250-SIZE 31457280
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-AUTH PLAIN LOGIN CRAM-MD5
250 STARTTLS
Connection closed by foreign host.
Re: Использование GSM-модуля WISMO228 для отправки почты.
Добавлено: Вт ноя 05, 2013 17:41:06
kushman
Проблема решилась, оказывается загвоздка была только в окончании строки. В HyperTerminal установил специальную галочку, и все заработало как часы.
Но появилась и другая проблема. Подключил модуль к микроконтроллеру по UART-у, команды он прекрасно принимает, вызов работает без проблем, а с СМС и почтой есть проблемы. Начать думаю стоит с простого, с СМС. Ниже приведена функция отправки сообщения. Между командами делаю большую задержку, чтобы модуль однозначно успел ее переварить. Сообщения если и доходят то через раз, и иногда с неправильными символами, и часто приходит просто буква U с двумя точками сверху)) В чем тут может быть загвоздка?
Код: Выделить всё
void Send_SMS(void) {
delay_ms(20000);
printf("AT+CREG=1\r\n");
delay_ms(30000);
printf("AT+CMGF=1\r\n");
delay_ms(30000);
printf("AT+CMGS=\"+79119999999\"\r\n");
delay_ms(30000);
printf("SMS from Atmega8 and Wismo228!\r\n");
delay_ms(30000);
UART_Transmit(0x1A);
delay_ms(2000);
send_lcd(set_second_line, "SMS Sending!");
}