als_Latn dik_Latn sna_Latn
Albanian (Shqip) translation by Zack-C (you can also view the original English article)
Dërgimi i mesazheve tekst është bërë jashtëzakonisht i përhapur rreth e qark botës -- në atë pikë ku një numër gjithnjë e në rritje i aplikacioneve web kanë integruar SMS për të njoftuar përdoruesit rreth ngjarjeve, shitjeve ose kuponave drejpërdrejt nëpërmjet pajisjeve portative.
Në këtë tutorial, ne do mbulojmë bazat e të dërguarit të mesazheve tekst me PHP.
Përmbajtja
Të dërgosh një mesazh tekst (SMS) në të vërtetë është goxha e lehtë.
Poshtë është një diagramë e thjeshtuar se si një mesazh mund të dërgohet nga një aplikacion web në një pajisje portative me wireless.
Do ta ndajmë këtë tutorial -- një copëz për secilën herë:
- Mesazhi kompozohet duke përdorur një aplikacion web që është ruajtur dhe ekzekutuar në një server HTTP dhe pastaj i dërguar nëpërmjet internetit (''reja'' , anglisht: ''the cloud'') si një mesazh email.
- Email-i është marrë nga një Portë Shërbimi i Mesazheve të Shkurtra (Portë SMS) (anglisht:Short Message Service Gateway (SMS Gateway)).
- Mesazhi SMS i kalohet te një Qendër Shërbimi Mesazhi të Shkurtër (anglisht: Short Message Service Center (SMSC) ), që është një server (shërbyes) që drejton/udhëzon të dhënat (data) te një pajisje portative e veçantë.
- Mesazhi, përfundimisht transmetohet nëpërmjet rrjetit celular te marrësi.
Rrjetet më të shumta celulare kanë një portë(gateway) SMS nëpërmjet së cilës mesazhet email mund të dërgohen si mesazhe tekst te një pajisje portative. Kjo është gjë e mirë, sepse, nga pikëpamja e një programuesi, është në përgjithësi falas---megjithatë, me siguri nuk është një shërbim falas për përdoruesin përfundimtar. Tarifat zbatohen prapëseprapë te marrësi i mesazhit dhe mesazhet e dërguara nëpërmjet email-it do të paguhen jo thjesht si mesazhe teksti.
Email në SMS
Të dërgosh një SMS nëpërmjet email-it, në përgjithësi kërkohen vetëm dy gjëra:
- Numri i telefonit ose kodi unik identifikues i pajisjes portative që dëshiron të arrish.
- Dhe emri domain i rrjetit celular (shumë mund të gjenden në këtë listë adresash të 'email në SMS')
Rradhitja e mëposhtme mund të përdoret për rrjetet më të shumta:
phoneNumber@domainName.com
phoneNumber është numri i telefonit i pajisjes portative që i dërgohet mesazhi, dhe
domainName.com është adresa Portën Gateway SMS të rrjetit celular.
Për ti dërguar një mesazh tekst Zt.Shembull, thjesht mund të shtosh 3855550168@vtext.com te çdo klient email, shkrurja e mesazhit dhe klikim te Dërgo. Kjo do dërgojë një mesazh tekst te numri i telefonit +1 (385) 555-0168 në Rrjetin Verizon Wireless(Celular).
Për shembull, unë do i dërgoj një mesazh tekst vetes sime duke përdorur Gmail.
Kur mesazhi arrin në celularin tim, duhet të duket kështu:
Goxha Fantastike!
Funksioni PHP
mail
Le ti çojmë gjërat një hap më tej. Duke përdorur SMS Gateway, ne mund të dërgojmë një mesazh teksti nëpërmjet email-it duke përdorur funksionin
bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )
Mund të lexosh më tepër për të këtu.
-
$topërcakton marrësin ose marrësit e mesazhit. Shembuj të vlefshëm përfshijnë:
- user@example.com (perdorues@shembull.com)
- user1@example.com, user2@example.com
- User (Përdorues)
- User1  , User2
- $subject është më së shumti vetëshpjegues; duhet të jetë një varg që përmban subjektin e dëshiruar. Megjithatë, SMS-të nuk kërkojnë një subjekt.
-
$messageështë mesazhi që do dërgohet. Siç përmendet në manualin e PHP, ''çdo linjë duhet të ndahet me një LF (\n) Linjat ose rreshtat e tekstit nuk duhet të jenë më të mëdha se 70 karaktere.''
Për të riprodhuar funksionimin e mësipërm, ne mund të shkruajmë kodin PHP vijues:
mail( '3855550168@vtext.com', '', 'Testing' );
Një Test Drive
Le të bëjmë një test me PHP që të sigurohemi se gjithçka është vendosur siç duhet dhe se funksioni

Kur telefoni im merr mesazhin, duket kështu:
Nëse të nxjerr një gabim, shih sektorin e shqyrtimit të problemeve.
Siç mund ta shohësh nga foto sipër, mesazhi tregon që është nga Gmail. Kjo ndodh kështu sepse unë i kaloj të tëra mesazhet dalëse (mesazhet që dërgoj) ngabserveri im lokal përmes atij shërbimi. Fatkeqësisht, si dhe dhe në këtë rast që shkruaj, nuk kam pasur sukses të modifikoj kreun
From të reflektojë një adresë tjetër. Me sa duket të dhënat në kreun e email-it (anglisht:headers, shqip:kryet) ndryshohen dhe zëvendësohen me krye të përgatitur nga porta SMS gateway. Nëse ndonjëri di ndonjë alternativë, ju lutem lini një koment dhe na vini në dijeni edhe ne të tjerët!
Shtim Përdorshmërie
Struktura Markup (HTML)
Duke qenë se gjërat bazë janë gati, le të marrim këtë ide dhe ta mbështjellim në një sipërfaqe përdoruesi rreth saj (zbukurim-rradhitje me CSS). Si fillim do vendosim një formë të thjeshtë:
Sending SMS with PHP         Phone Number        Carrier         Message
Stilimi (CSS)
Më pas vëmë brenda ca 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; }
Kjo na jep këtë formë të thjeshtë:
Skripti PHP
Pjesa më e rëndësishmë në këtë është skripti PHP. Shkruajmë tani këtë pjesë kodi:

- Skripti si fillim kontrollon nëse forma është parashtruar.
- Nëse po, kontrollon nëse variablat
phoneNumber,
carrierdhe
smsMessagejanë vendosur. Kjo është e dobishme në rast se ka më shumë se një formë në faqe.
- Nëse
phoneNumber,
carrierdhe
smsMessagedisponohen dhe
phoneNumberdhe
carriernuk janë bosh, atëherë është gati të tentosh të dërgosh mesazhin.
- Argumenti i mesazhit në funksionin
wordwrap.
-
phoneNumberdhe
carrierbashkohen dhe atëherë mesazhi dërgohet duke përdorur funksionin
- Nëse mungojnë të dhëna ose nuk mund të saktësohen, skripti thjesht kthen ''Jo i gjithë informacioni u parashtrua'' (anglisht:Not all information was submitted).
- Si përfundim, funksioni
$resultnë rast se nevojitet të saktësoj se mesazhi në fakt u dërgua.
Shënim: Metoda
Kodi 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.'; } }
?>         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; }          Sending SMS with PHP         Phone Number        Carrier         Message
Përcaktimi i Problemeve
Gabim localhost
Që të përdorësh funksionin
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
do të të duhet të instalosh dhe të konfigurosh/parametrizosh një server mail. Kjo është jashtë rrezes së këtij tutoriali/udhëzuesi. Megjithatë, nëse po punon në makinerinë tende lokale, të kalosh te diçka si XAMPP mund të zgjidhë problemin. Përndryshe, provo të instalosh një sistem si Mercury Mail bashkë me WAMP, MAMP ose në një LAMP (ose SAMP apo OAMP, etj, plot AMPs :) )
PHPmailer
Një mundësi tjetër (e cila është metoda që preferoj) është të përdorësh PHPmailer. Më poshtë është një shembull se si të përdorësh PHPmailer për tu lidhur në serverin Gmail SMTP dhe të dërgosh mesazhin.
Që ta përdorësh atë, është po aq e thjeshtë sa të përfshish një klase (class) në skriptin tënd.
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 = "email.address@gmail.com"; // 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!
Kjo duhet të printojë ose tregojë diçka si :
Kjo mund të kërkojë më tepër rregullim për të bërë lidhjen në varësi të situatës tënde. Nëse po planifikon të përdorësh Gmail, Google ka dhënë informacione për tu lidhur.
Përmbyllja
Ekzistojnë metoda të panumërta për ti'a arritur qëllimit për dërgimin e SMS përmes një aplikacioni web. Kjo metodë në fakt është destinuar për volum të ulët mesazhesh (më pak se 1000 mesazhe teksti në muaj) dhe programuesit që duan të ''lagin'' këmbët pa qenë nevoja të derdhin para. Mundësi të tjera përfshinjë:
- Përdorimi i një Ofruesi SMS Gateway Provider
- Bërja e një kërkimi në Google jep shume alternativa.
- Ofruesit SMS gateway më të shumtë përfshijnë një API për të dërguar mesazhe nga një aplikacion web.
- Zakonisht mund të regjistroheni për një çmim të arsyeshëm në një shërbim të tillë, duke supozuar se po planifikoni të dërgoni të paktën 1000 SMS për një muaj.
- Mund të merrni me qera një numër kod të shkurtër (short code number).
- Duke përdorur një modem GSM
- Por kjo mund të jetë një mënyrë e kushtueshme dhe e ngadaltë, sepse ju duhet të blini një modem dhe të keni një kontratë me një rrjet celular.
- Ju duhet gjithashtu, që të përdorni setin me komanda AT (Hayes).
- Duke përdorur një lidhje direkte te një rrjet celular, që kërkon negocim të fortë dhe një shumë të madhe parash.
Ky tutorial nuk është në ndonjë mënyrë diçka plotësisht e përfunduar, e detajuar apo e plotë e dërgimit të mesazheve tekst me PHP; but mjafton që të të vëri në lëvizje! Shpresoj që ky tutorial të ketë qenë interesant për ju. Ju falënderoj shumë për kohën që dedikuat leximit të këtij tutoriali!
Envato Tuts+ tutorials are translated into other languages by our community members—you can be involved too!Translate this post
eng_Latn als_Latn als_Latn als_Latn als_Latn als_Latn als_Latn als_Latn als_Latn als_Latn als_Latn als_Latn als_Latn als_Latn als_Latn als_Latn als_Latn eng_Latn als_Latn als_Latn als_Latn als_Latn als_Latn wol_Latn wol_Latn est_Latn als_Latn hne_Deva als_Latn unk als_Latn als_Latn eng_Latn eng_Latn eng_Latn als_Latn unk als_Latn als_Latn eng_Latn eng_Latn als_Latn eng_Latn als_Latn als_Latn als_Latn als_Latn als_Latn ltg_Latn als_Latn eng_Latn nno_Latn als_Latn eng_Latn als_Latn nno_Latn als_Latn eng_Latn als_Latn als_Latn eng_Latn eng_Latn als_Latn als_Latn eng_Latn eng_Latn als_Latn eng_Latn als_Latn als_Latn nld_Latn unk eng_Latn als_Latn als_Latn als_Latn als_Latn als_Latn nya_Latn eng_Latn eng_Latn als_Latn eng_Latn als_Latn eng_Latn als_Latn eus_Latn als_Latn als_Latn eng_Latn als_Latn als_Latn als_Latn als_Latn als_Latn als_Latn als_Latn als_Latn als_Latn als_Latn als_Latn als_Latn als_Latn als_Latn eng_Latn