159xxxxxxxx,134xxxxxxxx)curl、simplexml 擴展# 完整參數版
https://api.heqee.com/fetion/?username=飛信手機號&password=飛信密碼&to=接收號碼&message=短信內容
# 簡短參數版
https://api.heqee.com/fetion/?u=飛信手機號&p=飛信密碼&t=接收號碼&m=短信內容
<?php
/**
* 飛信短信發送本地調用示例
* 需啟用 curl、simplexml 擴展
*/
require_once 'libs/fetion.class.php';
// 配置
$username = '15900000000'; // 飛信手機號
$password = 'your_password';
// 接收號碼(支援群發)
$sendto = '15900000000,13400000000';
$message = 'I am from heqee.com';
// 發送
$fetion = new fetion($username, $password);
$result = $fetion->send($sendto, $message);
if ($result) {
echo 'ok'; // 返回布爾值
} else {
echo '發送失敗,請檢查日誌';
}
?>
class fetion {
private $uid, $pwd, $smsUrl = 'https://feta.fetion.com.cn/...';
public function __construct($uid, $pwd) {
$this->uid = $uid;
$this->pwd = $pwd;
}
public function send($to, $msg) {
// 1. 登錄獲取 SSI 認證票據
// 2. 組裝 XML 請求體(含接收號、內容、編碼)
// 3. curl POST 到飛信網關
// 4. 解析 XML 響應,判斷 0 為成功
return $success; // bool
}
}
| 問題 | 說明 | 對策 |
|---|---|---|
| 發送失敗返回 false | 飛信網關不穩定、帳號異常、內容敏感詞 | 記錄詳細響應 XML,檢查錯誤碼;嘗試分批發送 |
| 群發部分送達 | 單次請求號碼過多觸發限流 | 建議單次 ≤ 50 號,間隔 1-2 秒循環發送 |
| 特殊字符導致 XML 解析錯誤 | 短信內容含 < > & 等 | 發送前 htmlspecialchars($msg, ENT_XML1) 轉義 |
| 編碼問題 | 飛信網關要求 UTF-8,PHP 文件若為 GBK 需轉換 | $msg = iconv('GBK', 'UTF-8', $msg) |
完整源碼下載:jb51.net 代碼庫 #28628
飛信免費接口適合個人項目、內部通知、低頻驗證碼場景。商業系統建議: