Отправить текстовое сообщение на электронную почту, используя смс с телефона j2me

Я разрабатываю приложение j2me, и мне было интересно, если кто-нибудь знает, как отправить смс-сообщение на адрес электронной почты. Мне нужно использовать смс, так как я пытаюсь отправить через него данные, используя неограниченный текстовый план вместо неограниченного тарифного плана.

Я изменил пример кода с http://freecode-freecode.blogspot.com/2008/06/how-to-send-sms-in-j2me.html но я не могу отправить сообщение на электронную почту. Соответствующий код выглядит следующим образом...

  MessageConnection smsCon= (MessageConnection) Connector.open("sms://email@emailprovider.com:25");
  TextMessage txtmessage = (TextMessage) smsCon.newMessage(MessageConnection.TEXT_MESSAGE);
  txtmessage.setAddress("sms://email@emailprovider.com:25");// !!
  txtmessage.setPayloadText("Hello from j2me sms api");
  smsconn.send(txtmessage);

но это не работает Я понятия не имею, как подойти к этому. Я отправил текстовое сообщение вручную с помощью встроенного в телефон текстового сообщения на электронную почту, но я не могу сделать это в коде.

3 ответа

Любая трубка, поддерживающая JSR 205, должна быть в состоянии примерно так (не скомпилировано или протестировано!):

 MessageConnection emailCon = (MessageConnection) Connector.open("mms://email@emailprovider.com");
 MultipartMessage email = (MultipartMessage) emailCon.newMessage(MessageConnection.MULTIPART_MESSAGE);
 email.setSubject("Hello from j2me WMA 2.0 api");
 // add some MessageParts in here...
 emailCon.send(email);

В спецификации для URL-адреса MMS указано, что адрес электронной почты является допустимым адресатом MMS.

Вы не можете отправлять электронную почту в виде SMS-сообщений, если у вас нет специальной поддержки ни в организации, получающей SMS, ни в Центре обслуживания SMS.

Возможно, ваш оператор / оператор поддерживает отправку электронной почты через сервисный центр SMS. Обычно это достигается путем отправки SMS-сообщения на определенный номер получателя и кодирования адреса электронной почты в теле сообщения, окруженного соответствующими маркерами (*,#, цифры). Я отправлял SMS на факс, но это было более 10 лет назад...

Если у вашего оператора / оператора такой поддержки нет, возможно, вы найдете какую-то другую услугу отправки SMS-сообщений по электронной почте, которая работает аналогичным образом.

Обновление: найден сервис: http://www.visualtron.com/sms2email.htm

Вы также можете создать свой собственный шлюз для отправки SMS-сообщений в мидлет J2me, работающий на устройстве с безлимитным тарифным планом. Затем вам нужно отправить свои SMS-сообщения на определенный порт, который слушает ваш шлюз MIDlet. Фактическое электронное письмо должно быть отправлено через SMTP или HTTP соединение. Это не решение, которое я бы рекомендовал, поскольку оно довольно хрупкое.

Обратите внимание, что JSR-120 и JSR-205 (два JSR с беспроводными сообщениями) определяют только поддержку сообщений SMS и MMS, но что реализация МОЖЕТ добавить другие схемы обмена сообщениями. Из моего быстрого просмотра спецификаций я не смог найти какой-либо способ определить, какие схемы поддерживаются конкретным устройством. Следует также отметить, что MMS также требует подключения для передачи данных, но операторы / операторы часто используют отдельные подключения и цены для MMS и других данных. Поэтому, даже если ваше устройство поддерживает схему "email://", для его работы потребуется подключение для передачи данных.

Я не думаю, что это доступно с текущей спецификацией WMA. Если вы хотите создать такую ​​услугу, я предлагаю вам создать шлюз SMS, который получил SMS, в сочетании с приложением J2SE/J2EE, которое подключается к Интернету. Шлюз SMS анализирует содержимое SMS-сообщения для адреса электронной почты, отправляет его в приложение J2SE/J2EE, и это приложение создает электронную почту на основе параметра, какой адрес электронной почты и остальное содержимое SMS-сообщения.

Другие вопросы по тегам