У вас вопрос неверный.
Вы спрашиваете про отправку через php, а по сути ищете наименее затратный способ.
--
Я себе сделал бесплатный от слова совсем, даже 600 смс и за те не плачу)
правда, железо у меня уже было (домашнее).
---
Нужно:
1. Модем e3372
2. Роутер Кинетик с usb
3. Сим-карта Дэником, которая на тарифе за 0 рублей дает 600 смс просто так, либо мегафон или Yota дают условный безлимит на смс за 50 рублей. По сути блокируют отправку, если превышаешь лимит в час.
4. Белые ip не нужны. Интернет на Сим карте тоже не нужен
Модем прошиваем в hilink, на роутере включаем keendns, добавляем модем к этой службе, при включении будет выдан адрес в сети интернет и ssl, там же в роутере закрываем модем паролем.
Далее к модему можно обращаться не только по локальной сети 192.168.8.1, но и из интернета (спасибо кинетик)
Пишем php код, нужно написать несколько функций (отправка, получение, удаление, получение токена)
Вот пример:
//функция Отправки СМС
function send($sms_phone, $sms_message){
$xml = auth();
$options = array(
CURLOPT_HTTPAUTH => CURLAUTH_BASIC,
CURLOPT_USERPWD => 'admin:34543sdd4!@0',
CURLOPT_URL => 'https://modem.ВАШЕ_ИМЯ.keenetic.link/api/sms/send-sms',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_USERAGENT => 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',
CURLOPT_HTTPHEADER => array("X-Requested-With: XMLHttpRequest",'Cookie:'. $xml->SesInfo,'__RequestVerificationToken:'. $xml->TokInfo,'"Content-Type:application/x-www-form-urlencoded; charset=UTF-8"'),
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => "<request><Index>-1</Index><Phones><Phone>".$sms_phone."</Phone></Phones><Sca/><Content>".$sms_message."</Content><Length>5</Length><Reserved>1</Reserved><Date>".date("Y-m-d H:i:s")."</Date></request>"
);
$curl = curl_init();
curl_setopt_array($curl, $options);
curl_exec($curl);
curl_close($curl);
};
И сама отправка:
send($sms_phone, $sms_message);
На сервере нужно делать проверку номера и спам-защиту:
Проверка можно делать тут, включая ограничения по региону:
rosreestr.subnets.ru/?get=num&num=79152000200
--
Тем самым ваш сайт может слать смс.
Вы можете отправлять и получать СМС в телеграм/из телеграм.
Ничего не платите, если не беспределите, не рассылаете рекламу и не превышаете лимиты
Для клиентов, когда важно передать именное смс, а не циферное, использую
www.smsimple.ru
В среднем отправка 2,30 рубля