Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wysyłanie sms przez cURL
Forum PHP.pl > Forum > PHP
marcinpruciak
Próbuję zrobić automatyczne wsysyłanie sms przez bramke sms za pomocą cURL.

Korzystam z tej bramki: http://sms.pl/darmowa,bramka,sms.php

Kod wyglada tak:

  1. <?php
  2.  $url = 'http://sms.pl/bramka/phpsms.php';
  3.  $curl = curl_init($url);
  4.  
  5.  curl_setopt($curl, CURLOPT_FAILONERROR, 1);
  6.  
  7.  curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
  8.  
  9.  curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  10.  
  11.  curl_setopt($curl, CURLOPT_TIMEOUT, 50);
  12.  
  13.  curl_setopt($curl, CURLOPT_POST, 1);
  14.  
  15.  curl_setopt($curl, CURLOPT_POSTFIELDS, 'prefix=691&number=xxxxxx&message=czesc&sig=mail');
  16.  
  17.  $r = curl_exec($curl);
  18.  
  19.  curl_close($curl);
  20.  
  21.  echo '<h2>cURL wyniki:</h2><pre>'.htmlentities($r).'/</pre>';
  22. ?>
 

Próbowałem też wysyłać z innych bramek, ale tak samo nie działa, może znacie jakiś inny sposób na wysyłanie sms przez php?
wookieb
A mozę zwraca jakić błąs sam cUrl?
marcinpruciak
curl_error($curl) i curl_errno($curl), nic nie zwraca. 

Wynik htmlentities($r) wygląda tak:

Kod
cURL wyniki:
<script LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
// skrypt wymagany do ubslugi bramki Plusa przy uzyciu opcji $PLUS_JAK=2

var plus_kom_status1="SMS zosta³ wys³any";

var str_plus_random=new String();
onload=komunikaty;

function komunikaty () {
 arr_plus_random=str_plus_random.split("|");
 for (var x=0; arr_plus_random[x]; x++) {
     div="div"+ arr_plus_random[x];
     document.all[div].innerHTML=plus_kom_status1;
 }
}

function add_plus_random(co) {
 if (!str_plus_random) 
     str_plus_random=co+"|";
 else
     str_plus_random+=co+"|";
}
// -->
</script>
<HTML><HEAD><TITLE>wysy³anie...</TITLE></HEAD><BODY><DIV ID="div4453">prosze czekac</DIV>
<FORM action="http://www.text.plusgsm.pl/sms/sendsms.php" method=post name=plusform4453 target=iframe4453>
<INPUT name=tprefix type=hidden value=691><INPUT name=numer type=hidden value=146667>
<INPUT type=hidden name=odkogo value="mail"><input type=hidden name=tekst value="czesc">
</form>
<iframe scrolling=no name=iframe4453 height=1 width=1></iframe>
<script> document.plusform4453.submit(); add_plus_random("4453"); </script>
<script language="JavaScript">opener.location.href='/smssend.php?id=2&tn=691146667&body=czesc'; window.close();</script></BODY></HTML>/



Denerwujący jest też limit 10 sms na dzien nałozony przez operatora.
wookieb
No i to dopiero wyswietlasz na stronie. I dopiero wtedy użytkownik z tego kodu może wysłać smsa.
marcinpruciak
Nie rozumiesz mnie. Chcę za pomocą curl zrobić powiadamianie sms o emailu. W tym celu muszę skorzystać z bramki sms i wstawić temat maila w tresc wiadomości. Nie chcę robić bramki u siebie na stronie, tylko korzystać z bramki.
wookieb
Kumam.
Zauważ, że curl zwraca ci formularz do wysłania smsa. Wiec musisz wysyłać potrzebne dane na adres z formularza tudzież "http://www.text.plusgsm.pl/sms/sendsms.php" i do tego dołączyć odpowiednie wartości. Jezeli podczas generowanie tego formularza pojawiają się jakieś losowe wartości to pobierzesz je za pomocą skryptu który podałeś w 1 poście a nastepnie wyslesz na adres który ci podałem.
marcinpruciak
Działa, ale czasami,zależy od bramki. Ale chyba nie ma lepszego sposobu.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.