Просмотр полной версии : отправка sms c сайта ? как организовать чтоб смски приходили от имени?
Cуть---> заходит человек на сайт --->регистрируется( при том указывает свой телефон) --->потом заходит на страничку нажимает кнопочку ---> и ему приходит смс от имени* например site.ru ---> надо чтоб при отправке смс происходило считывание номера указаного при регистрации пользователя и ему приходила смс с определенным текстом....
как реализовать?
Не знаю точно, поэтому не буду писать :)
ufalog, буду сильно благодарен и не только я, выложи пожалуйста скрипт отправки смс-ок на разных операторов!! ;)
RedBull@12
29.10.2007, 01:46
Cуть---> заходит человек на сайт --->регистрируется( при том указывает свой телефон) --->потом заходит на страничку нажимает кнопочку ---> и ему приходит смс от имени* например site.ru ---> надо чтоб при отправке смс происходило считывание номера указаного при регистрации пользователя и ему приходила смс с определенным текстом....
как реализовать?
На сколько я знаю что ни один оператор это не делает за спасибо.
Как вариант можно заюзать SMS-сервис.
Но это слишком дорогое удовольствие,хотя смотря сколько ты с этого все будешь иметь.
а никто не знает скриптов, юзающих смс сервис?
к примеру на sms.juw.ru подобное
примеру на sms.juw.ru подобное
там уже можно указать тока номер отправителя... а раньше можно было любое слово указать....
юзайте кликатель! правда там кредиты покупать нада...
Joker-jar
29.10.2007, 12:38
Почти на всех оф. сайтах операторов есть функция бесплатной отправки смс. Некоторые создают базу этих страниц, полей, необходимых для отправки смс и т.д., потом пишут скрипт, который отправляет смс номеру соответствующего оператора через соответствующую страницу. Можно также сделать определение оператора по нескольким цифрам номера. Я делал только для Мегафон ДВ - sms.kbrdhook.com.
А чтоб автоматизировать это дело, нужно уже распознование каптчи.
Нет, может у кого есть такой скриптик, распознающий капчу и который не жалко))))
onikishov
29.10.2007, 15:30
ufalog, в примечании не судьба написать? А сайт по любому будет написан.
<?php
/**
* CLICKATELL SMS API
*
* This class is meant to send SMS messages via the Clickatell gateway
* and provides support to authenticate to this service and also query
* for the current account balance. This class use the fopen or CURL module
* to communicate with the gateway via HTTP/S.
*
* For more information about CLICKATELL service visit http://www.clickatell.com
*
* @version 1.3d
* @package sms_api
* @author Aleksandar Markovic <mikikg@gmail.com>
* @copyright Copyright © 2004, 2005 Aleksandar Markovic
* @link http://sourceforge.net/projects/sms-api/ SMS-API Sourceforge project page
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
* Main SMS-API class
*
* Example:
* <code>
* <?php
* require_once ("sms_api.php");
* $mysms = new sms();
* echo $mysms->session;
* echo $mysms->getbalance();
* $mysms->send ("38160123", "netsector", "TEST MESSAGE");
* ?>
* </code>
* @package sms_api
*/
class sms {
/**
* Clickatell API-ID
* @link http://sourceforge.net/forum/forum.php?thread_id=1005106&forum_id=344522 How to get CLICKATELL API ID?
* @var integer
*/
var $api_id = "YOUR_CLICKATELL_API_NUMBER";
/**
* Clickatell username
* @var mixed
*/
var $user = "YOUR_CLICKATELL_USERNAME";
/**
* Clickatell password
* @var mixed
*/
var $password = "YOUR_CLICKATELL_PASSWORD";
/**
* Use SSL (HTTPS) protocol
* @var bool
*/
var $use_ssl = false;
/**
* Define SMS balance limit below class will not work
* @var integer
*/
var $balace_limit = 0;
/**
* Gateway command sending method (curl,fopen)
* @var mixed
*/
var $sending_method = "fopen";
/**
* Optional CURL Proxy
* @var bool
*/
var $curl_use_proxy = false;
/**
* Proxy URL and PORT
* @var mixed
*/
var $curl_proxy = "http://127.0.0.1:8080";
/**
* Proxy username and password
* @var mixed
*/
var $curl_proxyuserpwd = "login:secretpass";
/**
* Callback
* 0 - Off
* 1 - Returns only intermediate statuses
* 2 - Returns only final statuses
* 3 - Returns both intermediate and final statuses
* @var integer
*/
var $callback = 0;
/**
* Session variable
* @var mixed
*/
var $session;
/**
* Class constructor
* Create SMS object and authenticate SMS gateway
* @return object New SMS object.
* @access public
*/
function sms () {
if ($this->use_ssl) {
$this->base = "http://api.clickatell.com/http";
$this->base_s = "https://api.clickatell.com/http";
} else {
$this->base = "http://api.clickatell.com/http";
$this->base_s = $this->base;
}
$this->_auth();
}
/**
* Authenticate SMS gateway
* @return mixed "OK" or script die
* @access private
*/
function _auth() {
$comm = sprintf ("%s/auth?api_id=%s&user=%s&password=%s", $this->base_s, $this->api_id, $this->user, $this->password);
$this->session = $this->_parse_auth ($this->_execgw($comm));
}
/**
* Query SMS credis balance
* @return integer number of SMS credits
* @access public
*/
function getbalance() {
$comm = sprintf ("%s/getbalance?session_id=%s", $this->base, $this->session);
return $this->_parse_getbalance ($this->_execgw($comm));
}
/**
* Send SMS message
* @param to mixed The destination address.
* @param from mixed The source/sender address
* @param text mixed The text content of the message
* @return mixed "OK" or script die
* @access public
*/
function send($to=null, $from=null, $text=null) {
/* Check SMS credits balance */
if ($this->getbalance() < $this->balace_limit) {
die ("You have reach the SMS credit limit!");
};
/* Check SMS $text length */
if (strlen ($text) > 465) {
die ("Your message is to long! (Current lenght=".strlen ($text).")");
}
/* Does message need to be concatenate */
if (strlen ($text) > 160) {
$concat = "&concat=3";
} else {
$concat = "";
}
/* Check $to and $from is not empty */
if (empty ($to)) {
die ("You not specify destination address (TO)!");
}
if (empty ($from)) {
die ("You not specify source address (FROM)!");
}
/* Reformat $to number */
$cleanup_chr = array ("+", " ", "(", ")", "\r", "\n", "\r\n");
$to = str_replace($cleanup_chr, "", $to);
/* Send SMS now */
$comm = sprintf ("%s/sendmsg?session_id=%s&to=%s&from=%s&text=%s&callback=%s%s",
$this->base,
$this->session,
rawurlencode($to),
rawurlencode($from),
rawurlencode($text),
$this->callback,
$concat
);
return $this->_parse_send ($this->_execgw($comm));
}
/**
* Execute gateway commands
* @access private
*/
function _execgw($command) {
if ($this->sending_method == "curl")
return $this->_curl($command);
if ($this->sending_method == "fopen")
return $this->_fopen($command);
die ("Unsupported sending method!");
}
/**
* CURL sending method
* @access private
*/
function _curl($command) {
$this->_chk_curl();
$ch = curl_init ($command);
curl_setopt ($ch, CURLOPT_HEADER, 0);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER,0);
if ($this->curl_use_proxy) {
curl_setopt ($ch, CURLOPT_PROXY, $this->curl_proxy);
curl_setopt ($ch, CURLOPT_PROXYUSERPWD, $this->curl_proxyuserpwd);
}
$result=curl_exec ($ch);
curl_close ($ch);
return $result;
}
/**
* fopen sending method
* @access private
*/
function _fopen($command) {
$result = '';
$handler = @fopen ($command, 'r');
if ($handler) {
while ($line = @fgets($handler,1024)) {
$result .= $line;
}
fclose ($handler);
return $result;
} else {
die ("Error while executing fopen sending method!<br>Please check does PHP have OpenSSL support and check does PHP version is greater than 4.3.0.");
}
}
/**
* Parse authentication command response text
* @access private
*/
function _parse_auth ($result) {
$session = substr($result, 4);
$code = substr($result, 0, 2);
if ($code!="OK") {
die ("Error in SMS authorization! ($result)");
}
return $session;
}
/**
* Parse send command response text
* @access private
*/
function _parse_send ($result) {
$code = substr($result, 0, 2);
if ($code!="ID") {
die ("Error sending SMS! ($result)");
} else {
$code = "OK";
}
return $code;
}
/**
* Parse getbalance command response text
* @access private
*/
function _parse_getbalance ($result) {
$result = substr($result, 8);
return (int)$result;
}
/**
* Check for CURL PHP module
* @access private
*/
function _chk_curl() {
if (!extension_loaded('curl')) {
die ("This SMS API class can not work without CURL PHP module! Try using fopen sending method.");
}
}
}
?>
nc.STRIEM
30.10.2007, 00:05
это платные смс.
_Sniper_
30.10.2007, 13:12
Cуть---> заходит человек на сайт --->регистрируется( при том указывает свой телефон) ---.................?
Тебе для каких операторов? Страну гри. Если для России то нету..
А есть скрипты, отправляющие смс-ки через сайт оператора? :)
У кого есть рабочие, дайте плиз! С меня ++++++ :)
А есть скрипты, отправляющие смс-ки через сайт оператора? :)
У кого есть рабочие, дайте плиз! С меня ++++++ :)
ну вот к примеру модуль (блок) для какой-то цмс-ки если доработать (форму нормальную сделать), то полноценный модуль http://slil.ru/25043240
некоторые операторы предоставляют услугу email to sms. посылается емейл на определенный адрес, который потом транслируется в смс.
например, на билайне она сть и бесплатная, но ее нужно отдельно подключать
некоторые операторы предоставляют услугу email to sms. посылается емейл на определенный адрес, который потом транслируется в смс.
например, на билайне она сть и бесплатная, но ее нужно отдельно подключать
Это лично я знаю :)
и это не подойдет, а так удобная фишка)
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot