LINUX.ORG.RU

sms из консоли


0

0

Чем можно послать на номер Билайн/Мегафон смс?
Поставил sms_client, но не асилил как прописать в конфиг сервисы Российских операторов...

★★★★

Ответ на: комментарий от Igorrr

что там сложного то?)
Perl модуль сохрани как MMPSMS.pm в одной директории с вот таким скриптом:

#!/usr/bin/perl

use strict;
use warnings;
use Text::Iconv;
use MMPSMS;

my $converter = Text::Iconv->new("utf-8", "cp1251"); #твоя локаль..

my $user = 'herna@mail.ru';
my $pass = 'dsfsd';
my $name = 'herna';

my $sms = MMPSMS->new($user, $pass, 1);

while (1) {
    print "Number as +7911...\n";
    chomp(my $phone = <>);
    print "SMS text:\n";
    chomp(my $text = <>);
    $text = $converter->convert($text);
    my $id = $sms->add_contact($name, $phone);
    $sms->send_sms($phone, $text);
    #$sms->delete_contact($id, $name, $phone);
    print "SMS sended, waiting 60 sec\n";
    sleep 60;
    print "Ready for next sms\n"
}

$sms->close();

юзать вот так:

roma@debian:~/Desktop$ perl sms.pl
Number as +7911...
+7911*******
SMS text:
превед
SMS sended, waiting 60 sec
Ready for next sms
Number as +7911...
+7911*******
SMS text:
как дила?
add_contact error: internal server error
SMS sended, waiting 60 sec
Ready for next sms
Number as +7911...

PoMbl4
()
Ответ на: комментарий от PoMbl4

со всеми операторами работает?

как встроить перл-скрипт в bash-скрипт?

у меня баш-скрипт всего 15 строчек - думал, есть методы попроще)

Igorrr ★★★★
() автор топика
Ответ на: комментарий от Igorrr

>со всеми операторами работает?
Гарантированная доставка SMS обеспечивается только на номера операторов МТС, Билайн, Мегафон (только Мегафон Москва), Теле-2, Астрахань GSM, Енисей ТелеКом, Ульяновск GSM.
>как встроить перл-скрипт в bash-скрипт?
я в баше не селен, может через вызов из баша перлового скрипта или переписать баш на перл, а вообще напиши что должен делать баш скрипт
>у меня баш-скрипт всего 15 строчек - думал, есть методы попроще)
этот метод и так самый простой так как капчу вводить не нужно 8)

немного поправил, а то мэйл огент вроде со временем отваливался от сервера

#!/usr/bin/perl

use strict;
use warnings;
use Text::Iconv;
use MMPSMS;

my $converter = Text::Iconv->new("utf-8", "cp1251"); #твоя локаль..

my $user = 'hkhk@mail.ru';
my $pass = 'khkjhkj';
my $name = 'ddsfs';

while (1) {
    print "Number as +7911...\n";
    chomp(my $phone = <>);
    print "SMS text:\n";
    chomp(my $text = <>);
    $text = $converter->convert($text);
    my $sms = MMPSMS->new($user, $pass, 1);
    my $id = $sms->add_contact($name, $phone);
    $sms->send_sms($phone, $text);
    $sms->delete_contact($id, $name, $phone);
    print "SMS sended, waiting 60 sec\n";
    $sms->close();
    sleep 60;
    print "Ready for next sms\n";
}

PoMbl4
()
Ответ на: комментарий от PoMbl4

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

PoMbl4
()
Ответ на: комментарий от PoMbl4

то есть он шлет как-бы через мейл-агент?
поясни пжл. немного действие скрипта...

Igorrr ★★★★
() автор топика
Ответ на: комментарий от KRoN73

> Разве для рассылки с сайтов капча сейчас не используется?

У некоторых операторов(например, НСС) капча настолько простая, что её даже gocr должен прожевать

gaa ★★
()
Ответ на: комментарий от gaa

>то есть он шлет как-бы через мейл-агент?
поясни пжл. немного действие скрипта...
ты агент наверно не видел) так вот в мэйл агенте есть возможность отправлять смс, в этом модуле эта возможность и реализована, ограничения там такие, задержка между смс 1 минута, число сообщений раньше было максимум 50 в день, сейчас хз, вот я комментарии написал к онсновным моментам

#!/usr/bin/perl

use strict;
use warnings;
use Text::Iconv; #подключаем модуль конвертер текста
use MMPSMS; #поключаем модуль для работы с агентом..

my $converter = Text::Iconv->new("utf-8", "cp1251"); #конвертер..

my $user = 'sdfds@mail.ru'; #мыло
my $pass = 'dsfdfsd'; #пароль от мыла
my $name = 'ddsfs'; #имя под которым номер будет добавлен в контакт лист

while (1) {
    print "Number as +7911...\n";
    chomp(my $phone = <>); #считываем телефон и удаляем перенос строки
    print "SMS text:\n";
    chomp(my $text = <>); #тоже самое для текста сообщения
    $text = $converter->convert($text); #конвертируем из нашей локали в cp1251 нужную агенту
    my $sms = MMPSMS->new($user, $pass, 1); #логинемся
    my $id = $sms->add_contact($name, $phone); #добавляем номер в контакт лист, тк иначе не отправить смс
    $sms->send_sms($phone, $text); #само смс
    $sms->delete_contact($id, $name, $phone); #удаляем юзера после отправки
    print "SMS sended, waiting 60 sec\n";
    $sms->close(); #отключаемся от мэйл агента
    sleep 60; #следующее смс можно послать только через минуту
    print "Ready for next sms\n";
}

PoMbl4
()
Ответ на: комментарий от dimon555

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

PoMbl4
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.