หน้าแรก
 การบ้าน
  C/C++ new
  Java new
  Windows Phone
  แจ้งเรื่องที่ต้องการ
 บทความ
  .NET
  Android
  Blackberry
  C++Builder
  Delphi
  Java
  Mobile
  Open Source
  Pocket PC
  Visual Basic
  Web
  Windows Phone
  Others
 แบบเรียนฟรี
  ASP
  ASP.NET Webmatrix
  C++
  eVB
  J2ME
  Java
  PHP
 ซอร์สโค้ด
  Android
  ASP
  C++
  VC++
  CGI-Perl
  Delphi
  Java
  jQuery
  PHP
  Visual Basic
  .NET
 บริการจากเรา
  เปิดท้าย... ขายโค้ด
  Freeware
  อัตราค่าโฆษณา
  รายชื่อลูกค้า
  สถิติผู้เข้าเว็บ
 ดาว์นโหลด
 ค้นหาข้อมูล
 กระดานสนทนา
  .NET
  C/C++
  Delphi
  Java
  Palm/PocketPC
  Visual Basic
  Web
  อื่นๆ
 กระดานงาน
 ลิงค์เว็บ
 เกี่ยวกับผม
 อัตราค่าโฆษณา
Social Network

Facebook  Twitter  YouTube
 New Article
 Webboard
 Freelanceboard
Freeware
โปรแกรมเบอร์ดี (BerDee)
โปรแกรมเบอร์ดี (Android)
เกมส์เป่ายิ้งฉุบ
เกมส์เป่ายิ้งฉุบ(Android)
WebcamMonitor
WebcamMonitor(Windows)
scSendMail
scSendMail(Windows)
MSN Caption
MSN Caption(Windows)
  Freelance comment
  ติดต่อสอบถามมาได้ตลอดนะ...
2015-07-29 13:35:58
  ถ้าผมต้องการเว็บที่พัฒน...
2015-01-18 15:33:54
  ถ้าผมต้องการเว็บที่พัฒน...
2015-01-18 15:32:51
  ติดต่อสอบถามเข้ามาได้นะ...
2014-01-06 12:47:38
  ถ้ายังหาคนสอนไม่ได้ ก็ลอ...
2013-07-06 01:04:37
  สนใจส่งขอบเขตมาคุยราคาก...
2013-03-24 18:54:20
  ถ้ายังไม่มีคนรับงานติดต...
2012-12-16 19:18:14
  สนใจคะ ติดต่อ 0905076277...
2012-11-12 11:07:46
  รับทำโปรเจ็คนักศึกษาหรื...
2012-10-29 03:10:46
  sukit_te34@hotmail.com...
2012-10-29 03:09:36
  Webboard comment
  มาส่อง...
2024-08-19 15:45:12
  ช่วยเขียนโปรเจค: การควบค...
2024-08-07 09:13:31
  เขียนโปรแกรมภาษาจาวา
1.โ...

2023-09-12 11:40:28
  ต้องลอง debug ดูเองครับ
ไล่...

2023-06-08 18:03:06
  ร้านค้าแห่งหนึ่ง จะต้องน...
2021-09-21 08:47:08
  จงเขียนโปรแกรมดำเนินการ...
2021-05-07 15:06:11
  จงเขียนโปรแกรมสำหรับคำน...
2021-03-09 14:21:45
  ขอดู...
2021-01-04 23:56:45
  ขอโค้ดเพื่อทำการเรียนกา...
2020-12-09 23:02:09
  แล้ว ?...
2020-12-09 10:56:34
  Homework comment
  เขียนโปรแกรมเพื่อรับค่า...
2022-02-24 10:45:17
  จากโค้ดนี้อะครับ พอดีลอง...
2021-03-22 01:22:39
  จากโค้ดนี้อะครับ พอดีลอง...
2021-03-22 01:22:39
  โจทย์การบ้าน c++ เขียนรูปแ...
2020-04-06 11:01:33
  แบบนี้ขอเป็น ภาษา php หน่อย...
2019-09-18 14:36:34
  ผมไม่อยากให้คุณได้คะแนน...
2019-04-27 01:29:07
  อาจารย์เขาบอกแนวข้อสอบม...
2019-04-27 00:44:29
  ขอสอบถามการเขียน c++ ครับ เ...
2018-04-02 12:19:21
  โค้ดตัวอย่างศึกษาให้เข้...
2017-11-26 14:50:05
  คำนวณค่าน้ำโดยรับค่ามิเ...
2017-11-20 23:15:26
  Article comment
  เท่าที่อ่าน error คือพื้นที่...
2022-03-23 13:56:48
  เรียน สอบถามปัญหา กับ อ.คร...
2022-01-24 17:39:49
  ต้องการ ให้เขียน โปรแกรม ...
2019-12-09 11:39:58
  รับเขียน arx จาก vc++ 2017 ล็อคโปร...
2019-09-19 09:48:09
  ทำการ register ไฟล์ที่ชื่อ mswinsck.oc...
2019-09-17 14:05:56
  ใน vb 6 ไม่มี component winsock เลยค่ะ ส...
2019-09-03 10:31:02
  รบกวนขอสอบถามหน่อยนะครั...
2019-03-04 05:31:04
  สามารถนำตัวหนังสือจากภา...
2018-12-25 08:54:32
  มีcode ของ VB ไหมค่ะ ถ้ามีรบกว...
2017-09-28 16:50:02
  น่าจะได้ครับ ไม่เคยลอง
...

2017-07-11 09:59:35
  9Mcode comment

Link Exchange

อัตราค่าโฆษณา
 
พัฒนาโปรแกรม เพื่อส่ง SMS (อ่าน 67,091)
ศุภกิจ ทองดี (9'M) บทความโดย: นาย ศุภกิจ ทองดี (9'M)
e-mail: webmaster@sourcecode.in.th
mobile: 09-5009-5351
Line: suppakit.thongdee
Youtube: 9Mcode
Fanpage: Sourcecode.in.th
   
: ดาว์นโหลดตัวอย่างโปรแกรม (ดาว์นโหลด 5,601 ครั้ง)

- - - - - - - - - - - - - - ผู้ให้การสนับสนุน- - - - - - - - - - - - - -

 
 
Freelanceรับพัฒนาโปรแกรม และเว็บ โดย 9'M 

ก่อนอื่น ผมต้องขอออกตัวก่อนนะครับ ว่าผมไม่มีส่วนได้ ส่วนเสียอะไรกับ เว็บที่ให้บริการ sms ที่จะเป็นตัวอย่าง ในการเขียนโปรแกรม ติดต่อเพื่อส่งข้อความสั้น หรือ Short Message Service ที่รู้จักกันดีในชื่อ SMS ครับ

ก่อนอื่นเกริ่นกันเล็กน้อยว่า วิธีการในการส่ง sms นั้นทำได้หลายวิธี เช่น เขียนโปรแกรมไป ติดต่อกับมือถือ เพื่อส่ง sms ออกไป, เขียนโปรแกรมไปเชื่อมต่อกับ SMS Gateway ซึ่งก็มีอยู่หลายที่ครับ ซึ่งหากคุณมีเงินหน่อย ก็น่าจะสามารถไปเหมาค่า SMS โดยซื้อจากทาง Operator นั้นๆมาได้ (จำนวนเงินที่ต้องจ่าย ผมไม่ค่อยทราบ รู้แค่ว่าแพงพอควร)

โดยในบทความนี้ ผมได้นำเสนอวิธีการส่ง SMS ผ่านทางการเชื่อมต่อกับ บริการ SMS ของเว็บไซต์ http://www.applymail.com/ ซึ่งได้มีผู้ว่าจ้างผม ให้เขียนโปรแกรมเชื่อมต่อขึ้นมา เพื่อเค้าจะเอาไปประยุกต์ กับงานของเค้าอีกทีนึง

สิ่งที่คุณต้องมีก่อนที่จะเริ่มต้นทำตามกระบวนการพัฒนาโปรแกรม คือ

  • โปรแกรม Visual Studio .net 2003
  • เครื่องของคุณได้เชื่อมต่อ อินเตอร์เน็ต เอาไว้

ภาษาที่เลือกใช้คือ C# ครับ ซึ่งผมเองก็ยังใหม่สำหรับ C# เหมือนกัน เริ่มขั้นตอนกันเลย ดังนี้

 

1. ทำการเปิดบริการ SMS กับทางเว็บ http://www.applymail.com/ ซึ่งในการบวนการนี้ คุณจะได้ username และ password มาครับ

2. ทำการเปิดโปรแกรม Visual Studio .Net 2003 และเลือกสร้าง Project ใหม่ จากเมนู File > New > Project

3. ที่หน้าต่าง New Project ให้ทำการเลือก Visula C# Project ในช่อง Templates เลือก Windows Application และในช่อง Name ให้ป้อนชื่อ Project ว่า SendSMS ดังรูป

4. คลิกปุ่ม OK

5. ที่หน้า Form1 ให้คุณทำการลากวาง Control TextBox 2 ชิ้น และ Button 1 ชิ้น ไว้บน Form1 ดังรูป

6. ในช่อง textBox1 จะใช้สำหรับการใส่เบอร์โทรศัพท์ ปลายทางเช่น 0812345678 สำหรับในช่อง textBox2 จะเป็นช่องที่ใช้สำหรับ การป้อนข้อความที่จะส่ง ในที่นี่จะใช้ได้แค่เพียง ภาษาอังกฤษเท่านั้น ครับ

7. ทำการดับเบิ้ลคลิกที่ปุ่ม button1 แล้วทำการป้อนโค้ด ดังตาราง (อย่าลืมที่จะแก้ไข username ,password ที่คุณได้สมัครไว้นะครับ ไม่เช่นนั้นจะส่ง SMS ไม่ได้)

Private void button1_Click(object sender, System.EventArgs e)
{
	string strData;
	string strURL;
	string strResult;
	string szLanguage = "E";
	string szUsername ="username";
	string szPassword ="password";

			
	strData = "msisdn="+this.textBox1.Text+"&user="+szUsername+"&pass="
		+szPassword+"&lang="+szLanguage+"&msg="+this.textBox1.Text;
	strURL = "http://smsgateway.applymail.com/cgi-bin/aspsendsms.cgi";

	System.Net.WebRequest req = System.Net.WebRequest.Create(strURL);		
	req.ContentType = "application/x-www-form-urlencoded";
	req.Method = "POST";
	byte [] bytes = System.Text.Encoding.ASCII.GetBytes(strData);
	req.ContentLength = bytes.Length;
	System.IO.Stream os = req.GetRequestStream ();
	os.Write (bytes, 0, bytes.Length); 
	os.Close ();
	System.Net.WebResponse resp = req.GetResponse();			

	System.IO.StreamReader sr = new System.IO.StreamReader(resp.GetResponseStream());
	strResult = sr.ReadToEnd().Trim();			

	strResult = strResult.Substring(strResult.IndexOf("")+8,strResult.IndexOf("")-strResult.IndexOf("")-8 );
		
	if(strResult=="OK")
	{
		MessageBox.Show("Send SMS Complete");
	}else{
		MessageBox.Show("Error to Send");
	}		
}

8. ทำการ Run เพื่อทดสอบโปรแกรม โดยการกดปุ่ม F5 จากนั้นในหน้าต่างที่ถูกเรียกขึ้นมา ให้คุณกรอกหมายเลขโทรศัพท์มือถือ ที่ต้อการส่งถึง พร้อมด้วยข้อความ (เป็นภาษาอังกฤษ) ในช่องด้านล่าง

9. ทำการคลิกปุ่ม Button1 เพื่อส่งข้อความ จะมีข้อความแจ้งผลการส่ง SMS ดังรูป

10. รอสักพัก มือถือปลายทาง จะได้รับข้อความที่คุณส่งไปครับ

ทิ้งทาย

สำหรับหลักการทำงาน ของโปรแกรมนี้อยู่ที่ การสร้าง Http เพื่อ Post ข้อมูล ไปยัง CGI (Common Gateway Interface) โดยทาง CGI จะทำการตรวจสอบ Username , Password ก่อนการส่ง หากตรวจสอบแล้ว ถูกต้อง ทาง CGI จะทำการเชื่อมต่อกับทาง Operator (เช่น AIS ,Dtac, Truemove, Hutch) เพื่อจัดส่งข้อความต่อไป

ในตัวอย่างนี้ ยังเป็นแค่ตัวอย่าง ยังไม่สามารถส่งภาษาไทยได้ รวมทั้งยังไม่มีการจำกัด ความยาวของข้อความ ที่จะส่ง (โดยส่วนมาก ภาษาอังกฤษ จะส่งได้ 160 ตัวอักษร ภาษาไทยส่งได้ 70 ตัวอักษร) ซึ่งผมจะได้นำมาเสนอ ในโอกาสต่อไปๆ ครับ

จากบทความนี้ คุณอาจนำไปประยุกต์ใช้งาน สำหรับโปรแกรมของคุณได้แล้วครับ แล้วพบกันใหม่กับ 9M

: ดาว์นโหลดตัวอย่างโปรแกรม (ดาว์นโหลด 5,601 ครั้ง)
 

- - - - - - - - - - - - - - ผู้ให้การสนับสนุน- - - - - - - - - - - - - -


14.207.188.129 ความคิดเห็น #3 (จาก IP: 14.207.188.129)
มีcode ของ VB ไหม คับ ถ้ามีรบกวนส่งมาที่เมลล์ผมหน่อยคับ
จากคุณ : อนุวัฒน์ / power.lemon@hotmail.com [2013-12-03 16:23:10]

103.5.27.124 ความคิดเห็น #4 (จาก IP: 103.5.27.124)
ก๊อปโค้ดไปใส่ใน VB แล้วนั่งแก้ทีละบรรทัด
ผมว่ามันก็ไม่น่าจะยาก แต่ต้องพยายามหน่อยก็แค่นั้นครับ
จากคุณ : maddog [2013-12-21 13:40:35]

202.29.231.88 ความคิดเห็น #9 (จาก IP: 202.29.231.88)
อยากได้โค้ด รับค่า 5 ค่า โดยแยกผลรวม ค่าคู่ ค่าคี่
จากคุณ : Suwanan Phoomnoi / Suwanan25380706@gmail.com [2014-01-08 10:23:57]

103.5.27.134 ความคิดเห็น #10 (จาก IP: 103.5.27.134)
มีโค้ดเป็น c++ คล้ายๆกันไปศึกษาดูได้ http://www.sourcecode.in.th/homeworks.php?id=2
จากคุณ : maddog [2014-01-18 15:30:02]

180.222.155.108 ความคิดเห็น #18 (จาก IP: 180.222.155.108)
อยากเห็น version ที่ส่ง ภาษาไทยได้ ครับ
จากคุณ : เรก / fsd@adsad.com [2014-04-30 16:05:06]

101.108.220.74 ความคิดเห็น #19 (จาก IP: 101.108.220.74)
ขึ้นอยู่กับ API ที่ทางผู้ให้บริการ SMS เค้ากำหนดครับ เช่นเค้าอาจให้ทำการ encode UTF-8 หรือมีการ encode แบบอื่นเพื่อส่งภาษาไทย ต้องขอเอกสาร API เค้ามาเพื่อเขียนโปรแกรมครับ

ตัวอย่างโค้ดแปลงเป็น UTF-8
====
byte[] bytes = Encoding.Default.GetBytes(strData);
strData = Encoding.UTF8.GetString(bytes);
จากคุณ : maddog [2014-05-03 09:51:29]

171.99.98.210 ความคิดเห็น #20 (จาก IP: 171.99.98.210)
กำลังศึกษาทำโปรเจค ที่สามารถส่ง sms ได้ค่ะ แต่แก้ url แล้วมันบัคตรง strResult = strResult.Substring(strResult.IndexOf("") + 8, strResult.IndexOf("") - strResult.IndexOf("") - 8);
พอดีแค่เปลี่ยน url เป็น strURL = "https://member.thaibulksms.com/sms/send/";
จากเวบ https://secure.thaibulksms.com/th/login.php รบกวนช่วยแนะนำทีค่ะ
จากคุณ : เบญ / ิbnprpnplampop@hotmail.com [2014-09-30 15:18:12]

61.91.35.66 ความคิดเห็น #21 (จาก IP: 61.91.35.66)
ใช้บริการใคร ก็ติดต่อผู้ให้บริการรายนั้นสิครับ
เสียเงินทั้งที เค้าน่าจะให้คำแนะนำได้ดีที่สุด เพราะระบบเป็นของเค้า
จากคุณ : maddog [2014-10-01 16:36:13]

27.55.144.146 ความคิดเห็น #36 (จาก IP: 27.55.144.146)
บอกวิธีการเขียนโปรแกรมเติมเงินมือถือโดยใช้ Vb ให้ผมหน่อยครับ
จากคุณ : วินิจ / winij_fs@yahoo.com [2015-12-02 00:25:44]

27.55.144.146 ความคิดเห็น #37 (จาก IP: 27.55.144.146)
บอกวิธีการเขียนโปรแกรมเติมเงินมือถือโดยใช้ Vb ให้ผมหน่อยครับ
จากคุณ : วินิจ / winij_fs@yahoo.com [2015-12-02 00:27:56]

171.96.167.45 ความคิดเห็น #38 (จาก IP: 171.96.167.45)
การเติมเงินมือถือ ที่คุณว่า เป็นการเติมลักษณะไหนครับ
-เติมจากบัตร คุณก็ต้องเขียนโปรแกรมติดต่อกับ gsm module เอา หรือหา API จากผู้ที่ให้บริการเติม(ค้น google เอาครับ)
-เติมผ่าน API ก็ต้องอ่านและเขียนตาม api ที่เค้ากำหนด
จากคุณ : maddog [2015-12-02 15:58:57]

27.55.200.166 ความคิดเห็น #39 (จาก IP: 27.55.200.166)
ขอบคุณที่แนะนำเรื่องการเติมเงินมือถือครับ..ผมสนใจการเขียนโปรแกรมเติมเงินจากบัตรครับ.แต่ไม่เข้าใจคำว่า Gsm module ครับ คืออะไรครับ
และมีตัวอย่างโปรแกรม (เขียนด้วยVb) ให้ศึกษาเปล่าครับ
จากคุณ : วินิจ / winij_fs@yahoo.com [2015-12-02 20:53:41]

49.228.64.100 ความคิดเห็น #40 (จาก IP: 49.228.64.100)
เคยมี บ. จ้างผมเขียนงานแบบที่คุณถามนี้หละ ผมเขียนด้วย C# และโค้ดผมก็หายไปกับฮาร์ดดิสเก่า
ตัวอย่างโค้ดผมไม่มีให้ เพราะคงหาไม่ได้แล้ว
ข้อมูลผมหาจาก google นี้หละ แล้วก็ลองผิดลองถูกเอาเอง ขอให้โชคดีครับ
จากคุณ : maddog [2015-12-03 00:49:05]

27.55.40.85 ความคิดเห็น #41 (จาก IP: 27.55.40.85)
มาอีกแล้วอย่าพึ่งลำคาญกันก่อนครับผมพยายามศึกษาในgoogleแล้วยังสับสนอยู่ เอางี้ได้มายครับ ถ้าผมจ้างให้เป็นครูสอน คือ ผมอยากทำเป็นเองได้ พอจะเป็นไปได้มายครับ...เรียนทุกวันอาทิตย์นะครับ คุณ maddog พอจะมีเวลาเปิดสอนได้มายครับ
จากคุณ : วินิจ / winij_fs@yahoo.com [2015-12-05 09:10:56]

49.228.70.214 ความคิดเห็น #42 (จาก IP: 49.228.70.214)
ผมว่าคุณไม่ได้สับสนหรอก แค่เริ่มต้นไม่ถูก
โจทย์ที่คุณต้องคิดคือ จะสั่ง gsm module ได้อย่างไร และ ด้วยคำสั่งอะไร เชื่อมต่อแบบไหน
เอาเป็นว่าลองค้นหาร้านที่ขาย gsm module (ในไทยก็มี) แล้วก็ถามเค้าเลย ว่าเครื่องรุ่นไหนทำได้บ้าง ทำอย่างไร มีข้อมูลอะไรบ้าง

ถ้ามั่นใจก็ซื้อมาลองทดสอบ เขียนโปรแกรมพัฒนาต่อไป...


ขอบคุณที่ให้สอนนะครับ แต่เนื่องจากสุขภาพไม่อำนวย น่าจะสอนไม่ไหว
จากคุณ : maddog [2015-12-05 12:58:59]

27.55.68.189 ความคิดเห็น #43 (จาก IP: 27.55.68.189)
หวัดดีครับผมขอถามเพิ่มเติมครับเรื่องการเติมเงินมือถือผ่าน gsm Module ครับ ตอนนี้ผมกำลังพยายามศึกษาอยู่ ผมจะใช้ คำสั่ง AT
COMMAND ในการสั่งงาน gsm module (ดูแล้วมีตัวอย่างโปรแกรมให้ศึกษาอยู่)และกำลังตัดสินใจที่จัซื้อ gsm module มาทดลองอยู่
แต่ผมสงสัยอยู่เรื่องหนึ่งอยากสอบถามครับ..sim ที่จะใส่ใน gsm module เป็น sim แบบไหนครับ หรือแบบทั่วทั่วไปครับ รบกวนด้วยครับ ให้ความกระจ่างกับผมด้วยครับ
จากคุณ : วินิจ / winij_fs@yahoo.com [2015-12-08 17:12:16]

171.96.168.110 ความคิดเห็น #44 (จาก IP: 171.96.168.110)
sim ปกติธรรมดครับ ไม่ใช่พวก micro, nano (แต่รุ่นใหม่ๆผมไม่ทราบนะครับ รุ่นเก่าๆใช้ size ธรรมดา)
อาจต้องศึกษาไปก่อนว่า AT command ใดบ้างที่ต้องการใช้ และตรวจสอบว่า GSM Module รุ่นนั้นๆรองรับหรือเปล่า (ถามผู้ขายเอาครับ )
จากคุณ : maddog [2015-12-08 18:20:54]

110.169.126.187 ความคิดเห็น #67 (จาก IP: 110.169.126.187)
มีcode ของ VB ไหมค่ะ ถ้ามีรบกวนส่งมาที่เมลล์ให้หน่อยได้ไหมค่ะ
จากคุณ : yotaga / yotaga.sanam@gmail.com [2017-09-28 16:50:02]
สอบถาม
  • ห้ามการโฆษณา หากต้องการติดต่อหาลูกค้า ติดต่อโฆษณาโดยตรงได้ที่ webmaster@sourcecode.in.th
  • ห้ามใช้คำหยาบและคำพูดที่ไม่เหมาะสม
  • ขอสงวนสิทธิหากตรวจพบ ข้อความที่ไม่เหมาะสม ข้อความนั้นจะถูกลบทันที
ชื่อ
อีเมล์
รายละเอียด

 
 
คลิปสอนเขียนโปรแกรม
เรียนเขียนโปรแกรมดอทเน็ต
เรียนเขียนโปรแกรมแอนดรอยด์
เรียนเขียนโปรแกรมเบล็คเบอร์รี่
เรียนเขียนโปรแกรมซี ซีพลัสพลัส
เรียนเขียนโปรแกรมจาวา
เรียนการใช้งานลินุกส์
เรียนการเขียนโปรแกรมวินโดว์โฟน
เรียนการเขียนโปรแกรมพีเฮชพี มายเอสคิวเอล
อัตราค่าโฆษณา
 
บทความที่เกี่ยวข้อง

ติดตั้ง Visual Studio.NET 2003 บน Windows Vista ได้อย่างไร
Tutorial
eVB Tutorial
ASP.NET Webmatrix Tutorial
J2ME Tutorial
C++  Tutorial
Java  Tutorial
PHP Tutorial
ASP Tutorial
 
แบบสำรวจ

Home - Article - Tutorial - Sourcecode - Dev Handbook - Search - WebBoard - Links - About Us

สงวนลิขสิทธิ์ ห้ามคัดลอก ทำซ้ำ แก้ไข ดัดแปลง ไม่ว่าในรูปแบบใด โดยไม่ได้รับอนุญาตเป็นลายลักษณ์อักษร
เลขทะเบียนพาณิชย์อิเล็กทรอนิกส์จากกระทรวงพาณิชย์: 7100503002000
Copyright 2001 SourceCode.in.th