Отправить текстовое сообщение на электронную почту, используя смс с телефона 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-сообщения.