2011-10-08 128 views
1

我一直在測試通過短信從PHP腳本觸發預訂提醒的各種解決方案。我發現的最接近的解決方案是通過電子郵件發送短信到基於移動電話供應商的具體地址,這裏列出的地址列表的能力:PHP電子郵件發短信短信解決方案

http://en.wikipedia.org/wiki/List_of_SMS_gateways

的一點是它沒有接縫的工作。到目前爲止,我已經給O2,Vodafone和Orange發送了一條消息。 O2和橙色,發送的消息,但沒有收到。沃達豐,該消息被返回爲空地址。

此技能是否已解散?有什麼選擇。

+0

你不是說你需要這個的國家 –

+0

電子郵件網關是臭名昭着的不可靠:http://stackoverflow.com/questions/3524742/sms-gateway-for-windows-c/3525070#3525070 –

回答

1

發送電子郵件不是傳遞短信的可靠方式。

通常,收件人必須爲此類郵件付費。這種方法必須由許多國家的移動電話用戶明確激活。 (絕大多數德國的運營商都至少在德國,而英國的IIRC也是這種情況。)

使用合適的短信網關,將您的短信提供給移動網絡,就好像它們來自電話一樣。絕大多數這些服務(可能是所有有價值的服務)都帶有每條消息的費用。 This question顯示幾個選項。

2

我們目前使用Clickatell來完成您所需要的功能。 http://www.clickatell.com

一旦你註冊併購買一些短信學分,像這樣的工作..

$postString = 'api_id=123456&user=USER&password=PASS&text=YOUR SMS MSG&to=4471234567890'; 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, 'http://api.clickatell.com/http/sendmsg'); 
curl_setopt($ch, CURLOPT_HEADER, false); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $postString); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0); 
curl_setopt($ch, CURLOPT_FAILONERROR, true); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_TIMEOUT, 15); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
$response = curl_exec($ch); 

希望幫助!

+0

幾年來從這個答案隊友,但感謝張貼這個。我不是OP,但這對我的應用程序幫助很大:) –