Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Платформы Windows Mobile и Windows Embedded > смс отправка


Автор: welt 8.12.2005, 00:36
я воспользовался материалом с сайта
www.ishodniki.kiev.ua/doc/stat/builder/sms.php
для создания программы отправки смс.
но там все шлюзы и порты для города Киева.
Не подскажете, как получить для Москвы, в частности
серверы smtp для beeline и mts и соотв. порты?
У сайте beeonline есть и официальная программа
Bee On Line Express, но она сжата exe компрессором.
Я разжал ее, но не нашел нужной информации.
Как мне заполнить некоторые свойства для компонента
NMSMTP1, Port , Host(имя ip адресса),
UserID & FromAddress(адрес отправителя)???
И что мне прописать в строке типа
NMSMTP1->PostMessageA->ToAddress->
Add("3068"+Tel->Text+"sms.welcome2well.com");
вместо "sms.welcome2well.com", если я хочу
отправить на Билайн???

Автор: Nemesis 9.1.2006, 18:18
Странно, а почему ты шлешь смс через интернет? Можно гораздо проще... вот приведу простой код:

Код


import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.wireless.messaging.*;
import javax.microedition.io.*;

public class MessageSendMIDlet extends MIDlet implements CommandListener 
{
    
    String number = "";       // номер абонента
    String mestext = "";      // сообщение 

    private StringItem stritmtext = new StringItem("Текст",mestext);;
    private StringItem stritmnum  = new StringItem("Номер",number);;
    private TextBox textMes;
    private TextBox numMes;
    private Command enterNumber = new Command("Номер",  Command.SCREEN, 2);
    private Command exitMidlet  = new Command("Выход",  Command.EXIT,   0);
    private Command enterText   = new Command("Текст",  Command.SCREEN, 2);
    private Command textOkButton= new Command("Ok",     Command.OK,     1);
    private Command numOkButton = new Command("Ok",     Command.OK,     1);
    private Command sendButton  = new Command("Послать",Command.SCREEN, 1);

    private Form mainForm;  
    
    public void startApp() 
    {
        mainForm = new Form("Сообщение");
        mainForm.append(stritmnum);
        mainForm.append(stritmtext);        
        mainForm.addCommand(exitMidlet);
        mainForm.addCommand(enterNumber);
        mainForm.addCommand(enterText);
        mainForm.addCommand(sendButton);
        mainForm.setCommandListener(this);
        Display.getDisplay(this).setCurrent(mainForm);
    }
    
    public void pauseApp() 
    {
        
    }
    
    public void destroyApp(boolean unconditional) 
    {
        
    }
    
    public void sendMes()  // основная функция - отправка смс
    {
        try 
        {
            String addr = "sms://"+number;
            MessageConnection conn = (MessageConnection) Connector.open (addr);
            TextMessage msg = (TextMessage)conn.newMessage(MessageConnection.TEXT_MESSAGE);
            msg.setPayloadText (mestext);
            conn.send (msg);
        } 
        catch (Exception e) {}
    }
     
    public void commandAction(Command c, Displayable d)
    {
        if(c==exitMidlet)
        {
            destroyApp(false);
            notifyDestroyed();
        }
        if(c==enterText)
        {
            textMes = new TextBox("Текст",mestext,256,TextField.ANY);           
            textMes.addCommand(textOkButton);
            textMes.addCommand(exitMidlet);
            textMes.addCommand(enterNumber);
            textMes.setCommandListener(this);
            Display.getDisplay(this).setCurrent(textMes);
        }
        if(c==enterNumber)
        {
            numMes = new TextBox("Номер","",256,TextField.NUMERIC);           
            numMes.addCommand(numOkButton);
            numMes.addCommand(exitMidlet);
            numMes.addCommand(enterText);
            numMes.setCommandListener(this);
            Display.getDisplay(this).setCurrent(numMes);
        } 
       
        if(c==textOkButton)
        {
            if(textMes.getString()!="")
                mestext = textMes.getString();

            stritmtext.setText(mestext);
            mainForm.setCommandListener(this);
            Display.getDisplay(this).setCurrent(mainForm);
        }
        
        if(c==numOkButton)
        {
            if(numMes.getString()!="")
                number = numMes.getString();
            
            stritmnum.setText(number);
            mainForm.setCommandListener(this);
            Display.getDisplay(this).setCurrent(mainForm);
        }
        
        if(c==sendButton)
        {
            if(number!="" && mestext!="")
                sendMes();
        }
   }
}



Но стоит добавить, что эта отправка для определенного типа моделей. Скажем телефоны Самсунг не все будут работать и нужно будет использовать Самсунговские библиотеки, но смысл не меняется.

P.S. Некоторые модели телефонов глючат при отправке смс и текст там несколько урезается, поэтому приходится добавлять всяческие пробелы и прочие пакости, но все эти вещи фиксированы и легко решаются.

Автор: welt 15.1.2006, 19:06
Nemesis
На делфи напиши

Автор: Nemesis 15.1.2006, 19:10
А ты что программируешь не на j2me? Это код программы для java-машины...

Автор: OnviК 16.1.2006, 18:07
Вопрос конечно не в тему, но можно ли организовать отправку СМС для любого мобильного оператора через web-форму? =/

Автор: Snowy 16.1.2006, 19:08
Возможно. Если ты найдешь такую Web форму.

Автор: Nejenka 24.8.2006, 13:42
Отправка смс с сайта при помощи оператора связи возможна? как это можно реализовать? Помогите пожалуйста - это очень срочно!

Добавлено @ 13:45 
Имеется в виду то, что сайт придется писать нам самим и желательно на Java.
Вообще планируется сделать сайт (достаточно сложный, с обращениями к БД, формариванием XLS), при этом надо как-то привлечь возможности wap (еще один интересный вопрос!), и вот эта рассылка смс зарегестрированным пользователям...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)