Indonesian (Bahasa Indonesia) translation by fajar budiman (you can also view the original English article) Show pesan teks telah menjadi sangat luas di seluruh dunia - ke titik di mana peningkatan jumlah aplikasi web telah terintegrasi SMS untuk memberitahukan pengguna peristiwa, penjualan atau kupon langsung melalui perangkat mobile mereka. Dalam tutorial ini, kita akan membahas dasar-dasar mengirim pesan teks dengan PHP. Ikhtisar
Berikut adalah diagram sederhana dari bagaimana pesan dapat dikirim dari aplikasi web ke perangkat nirkabel. Kami akan menguraikan - satu bagian pada suatu waktu:
Sebagian besar jaringan nirkabel memiliki gateway SMS dimana pesan email dapat dikirim sebagai pesan teks ke perangkat mobile. Ini bagus, karena, dari sudut pandang pengembang, biasanya gratis namun tentunya bukan layanan gratis bagi pengguna akhir. Biaya masih berlaku untuk penerima pesan dan pesan yang dikirim melalui email akan ditagih sebagai pesan teks non-jaringan. Email ke SMSUntuk mengirim SMS melalui email, umumnya Anda akan memerlukan dua hal:
Konvensi berikut dapat diikuti sebagian besar operator:
Untuk mengirim teks ke Mr. Contoh, Anda hanya bisa menambahkan ke email klien, ketik pesan dan tekan kirim. Ini akan mengirim pesan teks ke nomor telepon +1 (385) 555-0168 pada jaringan nirkabel Verizon. Sebagai contoh, saya akan mengirim pesan teks ke diri saya sendiri menggunakan Gmail. Ketika ponsel saya menerima pesan, seharusnya terlihat seperti: Fungsi PHP's mail Mari melakukan langkah lebih lanjut. Menggunakan SMS Gateway, kita dapat mengirim pesan teks melalui email menggunakan fungsi PHP bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] ) Anda dapat membaca lebih lanjut di sini.
Untuk meniru fungsi sebelumnya, kita bisa menulis kode PHP berikut: mail( '', '', 'Testing' ); Melakukan Percobaan Mari kita menjalankan tes dengan PHP untuk memastikan semuanya dipersiapkan dengan benar dan bahwa fungsi <?php var_dump( mail( '##########@vtext.com', '', 'This was sent with PHP.' ) ); // bool(true) ?> Ketika ponsel saya menerima pesan, terlihat seperti:
Seperti yang Anda lihat pada gambar di atas, pesan menunjukkan bahwa itu dari Gmail. Ini karena semua rute pesan saya keluar dari server lokal saya melalui layanan tersebut. Sayangnya, sampai tulisan ini, saya belum berhasil mengubah menambahkan KegunaanThe MarkupDengan dasar-dasar keluar dari jalan, mari kita ambil ide ini dan membungkus antarmuka pengguna di sekitarnya. Pertama kita akan menyiapkan formulir sederhana: <!DOCTYPE html> <head> <meta charset="utf-8" /> </head> <body> <div id="container"> <h2>Sending SMS with PHP</h2> <form action="" method="post"> <ul> <li> <label for="phoneNumber">Phone Number</label> <input type="text" name="phoneNumber" id="phoneNumber" placeholder="3855550168" /></li> <li> <label for="carrier">Carrier</label> <input type="text" name="carrier" id="carrier" /> </li> <li> <label for="smsMessage">Message</label> <textarea name="smsMessage" id="smsMessage" cols="45" rows="15"></textarea> </li> <li><input type="submit" name="sendMessage" id="sendMessage" value="Send Message" /></li> </ul> </form> </div> </body> </html> The StyleBerikutnya kita akan sisipkan di beberapa CSS: body { margin: 0; padding: 3em 0; color: #fff; background: #0080d2; font-family: Georgia, Times New Roman, serif; } #container { width: 600px; background: #fff; color: #555; border: 3px solid #ccc; -webkit-border-radius: 10px; -moz-border-radius: 10px; -ms-border-radius: 10px; border-radius: 10px; border-top: 3px solid #ddd; padding: 1em 2em; margin: 0 auto; -webkit-box-shadow: 3px 7px 5px #000; -moz-box-shadow: 3px 7px 5px #000; -ms-box-shadow: 3px 7px 5px #000; box-shadow: 3px 7px 5px #000; } ul { list-style: none; padding: 0; } ul > li { padding: 0.12em 1em } label { display: block; float: left; width: 130px; } input, textarea { font-family: Georgia, Serif; } Berikut kita berikan bentuk formulir sederhana : The ScriptBagian yang paling penting untuk ini adalah skrip PHP. Sekarang kami akan menulis sedikit kode: <?php if ( isset( $_REQUEST ) && !empty( $_REQUEST ) ) { if ( isset( $_REQUEST['phoneNumber'], $_REQUEST['carrier'], $_REQUEST['smsMessage'] ) && !empty( $_REQUEST['phoneNumber'] ) && !empty( $_REQUEST['carrier'] ) ) { $message = wordwrap( $_REQUEST['smsMessage'], 70 ); $to = $_REQUEST['phoneNumber'] . '@' . $_REQUEST['carrier']; $result = @mail( $to, '', $message ); print 'Message was sent to ' . $to; } else { print 'Not all information was submitted.'; } } ?> <!DOCTYPE html>
Catatan: Metode Kode Final<?php if ( isset( $_REQUEST ) && !empty( $_REQUEST ) ) { if ( isset( $_REQUEST['phoneNumber'], $_REQUEST['carrier'], $_REQUEST['smsMessage'] ) && !empty( $_REQUEST['phoneNumber'] ) && !empty( $_REQUEST['carrier'] ) ) { $message = wordwrap( $_REQUEST['smsMessage'], 70 ); $to = $_REQUEST['phoneNumber'] . '@' . $_REQUEST['carrier']; $result = @mail( $to, '', $message ); print 'Message was sent to ' . $to; } else { print 'Not all information was submitted.'; } } ?> <!DOCTYPE html> <head> <meta charset="utf-8" /> <style> body { margin: 0; padding: 3em 0; color: #fff; background: #0080d2; font-family: Georgia, Times New Roman, serif; } #container { width: 600px; background: #fff; color: #555; border: 3px solid #ccc; -webkit-border-radius: 10px; -moz-border-radius: 10px; -ms-border-radius: 10px; border-radius: 10px; border-top: 3px solid #ddd; padding: 1em 2em; margin: 0 auto; -webkit-box-shadow: 3px 7px 5px #000; -moz-box-shadow: 3px 7px 5px #000; -ms-box-shadow: 3px 7px 5px #000; box-shadow: 3px 7px 5px #000; } ul { list-style: none; padding: 0; } ul > li { padding: 0.12em 1em } label { display: block; float: left; width: 130px; } input, textarea { font-family: Georgia, Serif; } </style> </head> <body> <div id="container"> <h2>Sending SMS with PHP</h2> <form action="" method="post"> <ul> <li> <label for="phoneNumber">Phone Number</label> <input type="text" name="phoneNumber" id="phoneNumber" placeholder="3855550168" /></li> <li> <label for="carrier">Carrier</label> <input type="text" name="carrier" id="carrier" /> </li> <li> <label for="smsMessage">Message</label> <textarea name="smsMessage" id="smsMessage" cols="45" rows="15"></textarea> </li> <li><input type="submit" name="sendMessage" id="sendMessage" value="Send Message" /></li> </ul> </form> </div> </body> </html> Penyelesaian masalahKesalahan localhost Untuk menggunakan fungsi Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\wamp\www\sms\mail-test.php ... Anda harus menginstal dan mengkonfigurasi mail server. Ini adalah dikeluar dari lingkup tutorial ini. Namun, jika Anda bekerja pada komputer lokal Anda, beralih ke sesuatu seperti XAMPP mungkin menyelesaikan masalah ini. Atau, mencoba menginstal Mercury Mail bersama WAMP, MAMP atau pada LAMP (atau SAMP atau OAMP, dll) sistem (yang banyak 'AMPs'). PHPMailerPilihan lain (yang merupakan metode yang saya suka) adalah dengan menggunakan PHPMailer. Di bawah ini adalah contoh bagaimana menggunakan PHPMailer untuk terhubung ke server SMTP Gmail dan mengirim pesan. Menggunakan itu sesederhana seperti termasuk kelas dalam skrip Anda. require 'class.phpmailer.php'; // Instantiate Class $mail = new PHPMailer(); // Set up SMTP $mail->IsSMTP(); // Sets up a SMTP connection $mail->SMTPDebug = 2; // This will print debugging info $mail->SMTPAuth = true; // Connection with the SMTP does require authorization $mail->SMTPSecure = "tls"; // Connect using a TLS connection $mail->Host = "smtp.gmail.com"; $mail->Port = 587; $mail->Encoding = '7bit'; // SMS uses 7-bit encoding // Authentication $mail->Username = ""; // Login $mail->Password = "password"; // Password // Compose $mail->Subject = "Testing"; // Subject (which isn't required) $mail->Body = "Testing"; // Body of our message // Send To $mail->AddAddress( "##########@vtext.com" ); // Where to send it var_dump( $mail->send() ); // Send! harus dicetak sesuatu di sepanjang baris: Mungkin butuh sedikit lebih untuk mengatur koneksi yang terganggu pada situasi Anda. Jika Anda berencana menggunakan Gmail, Google telah menyediakan informasi tentang menghubungkan. KesimpulanAda segudang metode untuk menyelesaikan tugas yang mengirim SMS melalui aplikasi web. Metode ini benar-benar dimaksudkan untuk pesan volume rendah (kemungkinan besar kurang dari 1.000 pesan teks per bulan) dan pengembang mencari untuk mendapatkan kaki mereka basah tanpa keluar uang tunai. Pilihan lainnya termasuk:
Tutorial ini sama sekali tidak ditinjauan secara komprehensif mengirim pesan teks dengan PHP; tetapi harus Anda memulainya! Saya harap tutorial ini menarik bagi Anda. Terima kasih banyak telah membaca! |