通过PHP Codeigniter和电子邮件到SMS网关发送SMS

时间:2012-03-11 20:43:50

标签: codeigniter sms

我正在尝试通过PHP Codeigniter中的以下内容发送短信。

如果我从我的Gmail客户端向同一个“##########@vtext.com”发送电子邮件,我会收到短信。

如果我使用下面相同的代码但替换我的Gmail帐户,我会通过电子邮件收到该消息。

但是,我似乎无法触发通过以下代码发送给我的短信。

我认为这可能与电话服务中某处的垃圾邮件过滤器有关。

任何建议,或通过PHP / Codeigniter发送短信的免费解决方法?谢谢!

public function textMe()
    {
        $this->load->library('email'); 
        $this->email->to('##########@vtext.com'); [number edited out]
        $this->email->from('Notify@test.org','Test'); 
        $this->email->subject("Test Subject"); 
        $this->email->message('Test Message'); 
        $this->email->send(); 
        echo $this->email->print_debugger();
    }

1 个答案:

答案 0 :(得分:1)

在这种情况下,Codeigniter助手很有用。辅助功能将在任何需要时提供。在 Application / Heplers / sendsms_helper.php

中保存以下文件
 /*Start sendsms_helper.php file */

    function sendsms($number, $message_body, $return = '0'){       
        $sender = 'SEDEMO';  // Need to change
        $smsGatewayUrl = 'http://springedge.com';
        $apikey = '62q3z3hs49xxxxxx'; // Change   

        $textmessage = urlencode($textmessage);
        $api_element = '/api/web/send/';
        $api_params = $api_element.'?apikey='.$apikey.'&sender='.$sender.'&to='.$mobileno.
'&message='.$textmessage;    
        $smsgatewaydata = $smsGatewayUrl.$api_params;
        $url = $smsgatewaydata;
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_POST, false);
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        $output = curl_exec($ch);
        curl_close($ch);        
        if(!$output){
           $output =  file_get_contents($smsgatewaydata);
        }

        if($return == '1'){
            return $output;            
        }else{
            echo "Sent";
        }        
    }

    /*     * End sendsms_helper.php file     */
  • **使用:**
      1. 将sendms帮助加载为$ this-> load-> helper(' sendsms_helper');
      1. 致电sendms功能 Ex。 发送消息(' 919918xxxxxx','测试消息' );