Heim >Backend-Entwicklung >PHP-Tutorial >PHP implementiert das Senden von Textnachrichten
In diesem Artikel erläutern wir die Funktionsweise der Verwendung von PHP zum Versenden von SMS-Bestätigungscodes. Haben Sie das Gefühl, dass dies bei der Registrierung eines Kontos in einer mobilen App der Fall ist, wenn Sie auf „Senden des Bestätigungscodes“ geklickt haben? würde ein paar Sekunden dauern.“ Mit einem Piepton wird der Bestätigungscode an Ihr Telefon gesendet. Finden Sie das großartig?
1. Da das Unternehmen die API-Schnittstelle für die Anmeldung und Registrierung schreiben muss, habe ich etwas über den Front-End- und Back-End-Interaktionsprozess der Registrierung von Mobiltelefonnummern gelernt.
(1) Der Benutzer klickt auf den Client, um den Bestätigungscode zu senden (dann sendet der Client eine Ajax-Anfrage und die Schaltfläche befindet sich in 60 Sekunden Ruhezeit) (2) Die Rückseite -End-Logikschicht akzeptiert die übergebene Mobiltelefonnummer und überprüft, ob das Format legal ist. Geben Sie die Datenbank ein, um zu überprüfen, ob sie vorhanden ist. (3) Generieren Sie einen Bestätigungscode, speichern Sie ihn in der Sitzung und senden Sie dann Curl zum Drittanbieter-SMS-Schnittstellenlink (4) Konfigurieren Sie die Drittanbieter-SMS-Plattform und senden Sie Bestätigungscodeinformationen an Benutzer mit festgelegten Mobiltelefonnummern2 Heute erklären wir hauptsächlich die Konfiguration der Drittanbieter-Plattform und die Logik der Hintergrundverarbeitung.
3 Die ausgewählte Drittanbieter-Plattform ist: (Sie können auch andere Plattformen auswählen Prinzipien sind fast ähnlich)(1) Saidi Cloud Communication ( https://www.mysubmail.com )
(2) Registrieren, Echtnamen-Authentifizierung, Produkte und Dienstleistungen eingeben, erstellen eine neue Vorlage und ihre Vorlagensyntax kann in der zugehörigen Dokumentation eingesehen werden(3) Gehen Sie zur Spalte „AppIdD erstellen/verwalten“, erstellen und aktivieren Sie das Projekt und Generieren Sie dann die Standardeinstellungen „APPID“ und „APPKEY“
(4) Gehen Sie zur Startseite und klicken Sie auf „API anzeigen“. Klicken Sie auf den Link „Entwicklungsdokumente“ und erhalten Sie den Link zur POST-Anfrage:
https://api.mysubmail.com/message/xsend
4.
Kern: Verifizierungscode erstellen –> POST-Anforderungsfunktion einkapseln –> Verifizierungscode an die Drittanbieterplattform senden –> dann an das Mobiltelefon des Benutzers weiterleiten * Da Sina Blog kein Markdown unterstützt, poste ich nur den Kerncode und die Stellen, an denen ich auf große Fallstricke gestoßen bin: (1) Senden Sie den Bestätigungscode an die Drittanbieterplattform: (Keine Fallstricke, die Logik wird sehr reibungslos aufgeschrieben ) (2) Anfrage ein Link zum Senden der Bestätigungscodedaten an die Drittanbieterplattform (hier gibt es eine große Gefahr ) – Okay, schreiben wir es normal auf: und melden Sie dann einen Fehler: 'SSL-Zertifikatproblem: Lokales Ausstellerzertifikat konnte nicht abgerufen werden' , dann machen Sie sich keine Sorgen, folgen Sie weiterhin den offiziellen Kanälen: --- Gehen Sie zu https: //curl.haxx.se/docs/caextract.html zum Herunterladen von cacert.pem --- Fügen Sie dann cacert.pem unten in das PHP-Verzeichnis ein und gehen Sie dann zu PHP .ini und finden Sie: „;curl.cainfo“ und ändern Sie es in: curl.cainfo = "C:/wamp/bin/php/php7.0.10/cacert.pem" , nun, es ist nutzlos , weiterhin Fehler melden! --- Fahren Sie dann fort. Suchen Sie die Lösung und ändern Sie dann gemäß den Online-Informationen die darunter liegende Datei „;openssl.cafile“ in: openssl.cafile= „ C:/wamp/bin/php/php7.0.10/cacert.pem", okay, =_ =! Ich melde weiterhin Fehler, mein Herz ist bereits am Boden zerstört! --- Dann habe ich versucht, die doppelten Anführungszeichen zu entfernen, einfache Anführungszeichen hinzuzufügen und die Anführungszeichen zu entfernen, und mir wurde kalt ums Herz! Immer noch SSL-Zertifikatfehler! ! --- Hinter mir surfte ich weiter auf Google mit dem Gefühl von stehendem Wasser, immer wieder wurde ich mit blauen Flecken, hungrig, durstig und schwach an den Strand zurückgespült! --- Endlich, endlich, endlich, Scheiße! ! ! Habe es versucht~~~ (3) Lösung: Vor curl_exec() hinzufügen: (Kopieren Sie die Datei cacert.pem in das aktuelle Verzeichnis, andere Pfade sind ebenfalls verfügbar ) 5. Endeffekt: Verwandte Empfehlungen: So verwenden Sie PHP zum Senden von Textnachrichten per SMS Bao jQuery implementiert die Countdown-Funktion zum Senden von Textnachrichten php sendet einen SMS-Bestätigungscode, um die Registrierungsfunktion abzuschließenprivate function sendMessage()
{
$appId = "xxxxx";
$appKey = "36426a9xxxxxxxxxxxx7bed8583a3c";
$code = $this->makeCode(6);
$data = [
"appid" => $appId,
"to" => $this->phone,
"project" => "FoJ494",
"vars" => '{"code":' . $code . ',"time":"60"}',
"signature" => $appKey,
];
$res = $this->httpRequest($data);
var_dump($res);
}
private function httpRequest($data)
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $this->RequestUrl);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
if (isset($data)) {
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
}
$res = curl_exec($curl);
var_dump(curl_error($curl)); //打印请求错误
curl_close($curl);
return $res;
}
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($curl, CURLOPT_CAINFO, dirname(__FILE__) . '/cacert.pem');
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);
Das obige ist der detaillierte Inhalt vonPHP implementiert das Senden von Textnachrichten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!