พบ crawl errors กว่า 500 ที่เป็น unreachable จึงต้องแก้ไข

แก้ปัญหา url ภาษาไทยกับ tag ของ wordpress

16 มี.ค.53 มีโอกาสเข้าไปตรวจ account ของ webmaster tools ที่สมัครไว้หลายปีก่อน เนื่องจากมีปัญหาในเว็บไซต์ wordpress ขององค์กรที่ติด bad ware เมื่อเข้าไปดูสถิติเกี่ยวกับ crawl errors ก็ต้องตกใจ เพราะ url แบบ permalink ที่ใช้ใน wordpress 2.9.2 นั้น ใช้งานไม่ได้ในส่วนของ tag กว่า 500 เว็บเพจใน thaiall.com/blog จึงหาวิธีแก้ไขเรื่อง url ที่ใช้ภาษาไทยไม่ได้ ถ้าใช้ slug tag เป็นภาษาอังกฤษหรือตัวเลขอย่างที่ใช้ใน category หรือ username หรือ postid ก็จะไม่พบปัญหา ที่เป็นปัญหาคือใช้ tag ที่แปลงภาษาไทยด้วย url encode แล้ว เมื่อข้อความไปผ่าน mod_rewrite ของ apache ในเครื่องของ hypermart.net จะพบ Internal Server Error .. สังเกตุว่าเกิด redirect 2 รอบเมื่อกดปุ่ม enter .. ต้องแก้ปัญหามิเช่นนั้นจะไม่เป็นไปตาม seo ครับ
     พยายามแก้ไขจนไปพบทางออกในวิธีที่สาม คือ 1) ติดตั้ง simple tag plugin แต่ไม่ช่วยแก้ปัญหากรณีนี้ เพราะไม่มีตัวเลือก tag id และถ้ามีก็คงไม่ work ตามกฎของ seo 2) จะแก้ .htaccess แต่ก็สงสัยว่าแก้ไปก็คงไม่ช่วย เพราะปัญหานี้เกิดเฉพาะกับ hypermart.net ทดสอบในเครื่องที่บ้านที่ใช้ apache ก็ไม่พบปัญหานี้ และเคยพบปัญหาภาษาไทยกับ url จนต้องใช้ url_encode ใน php มาแล้ว แต่ครั้งนี้มีการ redirect 2 รอบ จึงคาดว่าไม่ผ่านในรอบสองนั่นเอง 3) ทดสอบใช้ default ของ permalink แล้วพบว่ามี ?tag= ให้ใช้บริการ เมื่อเปลี่ยนไปใช้ /%author%/%post_id%/ ก็พบว่ายังใช้ ?tag= ได้ จึงทดสอบเติมเข้าไปใน tag base ก็ยังใช้งานได้ทั้งแบบผ่าน get และผ่าน mod_rewrite สรุปว่าเป็นงานเล็กที่ใช้เวลานานมากอีกงานหนึ่ง ค้นและทดสอบไปกว่า 6 ชั่วโมง .. ดีนะครับที่อยู่บ้าน เพราะไม่มีใครดึงความสนใจ ถ้าอยู่ที่ทำงานคงไปไม่ถึงไหน .. เท่านี้ก็เป็นไปตามแนวของ seo
+ http://www.thaiall.com/seo

เว็บไซต์ creative university

Bangkok University : Creative university

14 มี.ค.53 พบเว็บไซต์ของมหาวิทยาลัยกรุงเทพ คือ www.bu.ac.th ใช้คำว่า creative university ออกแบบได้สวย เป็นระเบียบ (พบคำว่า creative ที่มี idea สอดคล้องกับที่ ดร.วิริยะ ฤาชัยพาณิชย์  บรรยายที่มหาวิทยาลัย) เมื่อเข้าไปแต่ละคณะก็พบว่ามี creative ในแบบของตน คือ ไม่ได้เหมือนกันไปซะหมด แต่ละคณะก็มีรูปแบบการนำเสนอข้อมูลที่แตกต่างกันไป เหมือนเป็นทีมพัฒนากันคนละทีมกับหน้าแรก โทนสีของเว็บไซต์น่าจะเป็นม่วงส้ม เพราะเว็บเพจที่พัฒนาโดยหน่วยงานกลางจะใช้เมนูด้านซ้ายเป็นสีม่วง ส่วนตัวหนังสือก็พยายามใช้ม่วงกับส้มสลับกัน เช่น ถาม-ตอบ หรือ ควันหลงรับปริญญา การนำเสนอเรื่องการแต่งตัวของนักศึกษาดูเป็นมืออาชีพ และเรียบร้อยสมเป็นนักศึกษาสมัยใหม่ในสถาบันการศึกษา และมีการเชื่อม facebook กับ twitter เกาะกระแส Social Network ด้วยครับ แต่ไม่พบการใช้บริการสถิติกับ truehits.net
+ http://www.facebook.com/bangkokuniversity
+ http://twitter.com/BUCreative
+ http://www.youtube.com/bucreative

ลิขสิทธิ์ซอฟท์แวร์ระหว่างบุคคล

6 มี.ค.53 ซอฟท์แวร์ที่ถูกพัฒนาขึ้นส่วนหนึ่งมีลิขสิทธิ์ชัดเจน ผู้นำไปใช้ต้องเสียค่าใช้จ่ายก่อน ไม่มีแชร์แวร์หรือรุ่นทดสอบ (Demo) ให้นำไปทดลองใช้งานก่อนแล้วตัดสินใจภายหลัง ถ้าใช้ก็ต้องเสียเงินก่อนจะได้ซอฟท์แวร์ไปติดตั้ง สำหรับค่าลิขสิทธิ์ซอฟท์แวร์มีหลายรูปแบบ เช่น ใช้คนเดียว ใช้ได้ทั้งองค์การ หรือนำไปพัฒนาให้กับลูกค้า ซอฟท์แวร์บางตัวเป็นแบบต่อยอดจากตัวหลัก เช่น wordpress.org เป็นตัวหลักที่เปิดให้ดาวน์โหลดได้ฟรี แต่ถ้าจะใช้ theme สวยของ solostream.com ที่ออกแบบให้ทำหน้าที่เป็นหน้ากากครอบซอฟท์แวร์ตัวหลักที่ถูกพัฒนาขึ้นโดยผู้พัฒนาอิสระแล้วจำหน่ายแยกออกจากซอฟท์แวร์ตัวหลักที่แจกฟรีก็เกิดขึ้นแล้วในปัจจุบัน
            ปัญหาลิขสิทธิ์เกิดขึ้นได้หลายกรณี เช่น ผู้เขียนพัฒนาซอฟท์แวร์ตัวหนึ่งและเปิดให้คนไทยดาวน์โหลดไปใช้ได้ฟรีแบบโอเพนท์ซอร์ท ต่อมามีผู้พัฒนาชาวไทยนำไปพัฒนาต่อยอดแล้วขายต่อให้กับลูกค้า ต่อจากนั้นผู้พัฒนาท่านนั้นได้ทิ้งงานไปแล้วลูกค้าก็โทรมาสอบถามผู้เขียน เพราะคิดว่าซอฟท์แวร์ที่เขาใช้อยู่ได้จ่ายให้ผู้เขียนส่วนหนึ่ง เมื่ออธิบายเรื่องลิขสิทธิ์แล้วลูกค้าท่านนั้นก็เข้าใจ อีกตัวอย่างหนึ่งคือชาวต่างชาติพัฒนาซอฟท์แวร์เพื่อขายแล้วคนไทยได้คัดลอกมาใช้อย่างไม่ถูกต้องตามเงื่อนไขของลิขสิทธิ์ แต่นำซอฟท์แวร์ดังกล่าวไปขายต่อให้กับลูกค้า ซึ่งลูกค้าไม่น้อยไม่เข้าใจในประเด็นเรื่องลิขสิทธิ์ซอฟท์แวร์ก็ยินดีจ่ายด้วยรู้เท่าไม่ถึงการณ์
            ในโลกที่เทคโนโลยีพัฒนาอย่างรวดเร็ว การตัดสินใจแต่ละเรื่องต้องใช้วิจารณญาณอย่างมาก เพื่อไม่ให้พลาดพลั้งไปกับเงื่อนไขที่เปลี่ยนแปลงแล้วส่งผลเสียย้อนกลับมา การพัฒนาเว็บไซต์ที่ใช้ระบบจัดการเนื้อหาเว็บไซต์ (CMS) เหมาะกับเว็บไซต์ที่เนื้อหามากและแบ่งหมวดหมู่ได้ชัดเจน เมื่อเลือกใช้ระบบจากค่ายใดก็ต้องติดตามการอัพเกรดอย่างต่อเนื่อง เพื่อให้ทันเทคโนโลยีและปลอดภัยต่อการบุกรุก หากเปลี่ยนระบบ อัพเกรด หรือยกเลิกระบบซีเอ็มเอสอาจทำให้นำข้อมูลกลับมาใช้ต่อไม่ได้ ทำให้ที่อยู่เว็บไซต์ที่เคยถูกอ้างอิงไปทั่วโลกเปลี่ยนแปลง นั่นหมายถึงเนื้อหาที่เคยถูกเชื่อมโยงจากภายนอกจะหายไปทั้งหมด นี่เป็นตัวอย่างประกอบการตัดสินใจจ่ายค่าลิขสิทธิ์ซอฟท์แวร์ที่ต้องพิจารณารอบด้านบนความเข้าใจและให้ความสำคัญกับความเสี่ยงที่จะเกิดขึ้นเป็นที่ตั้ง

theme สวยมาก แต่มี license ของ solostream.com

wordpress theme
wordpress theme

6 มี.ค.53 วันนี้พบเว็บไซต์หนึ่งใช้ theme สวยมาก ชื่อ wp-clear บน wordpress.com พัฒนาโดย Solostream มีรายละเอียดใน solostream.com ส่วนเว็บบอร์ดของไทยที่ให้ข้อมูลเรื่องนี้พบใน thaiseoboard.com ส่วนเว็บไซต์ของไทยที่ใช้ theme นี้ได้อย่างลงตัว คือ startupthailand.com ตอนแรกก็คิดจะ download มาทดสอบติดตั้งในเครื่องที่บ้านและเผยแพร่ต่อไป แต่เข้าไปอ่านรายละเอียดก็พบว่ามี license คือ The SOFTWARE is protected by copyright laws and international treaty provisions. จึงไม่ดำเนินการอะไรต่อครับ พบว่าราคามี 3 แบบคือ แบบใช้เว็บไซต์เดียวราคาราว 2,400 บาท แบบหลายเว็บไซต์ราคาราว 5,400 บาท แบบสำหรับผู้พัฒนาที่ไปขายให้ลูกค้าอีกต่อได้ราคาราว 8,400 บาท ถ้าผมจะหา free theme ที่นำมาใช้และไม่ผิดกฎหมายคงต้องกลับไปหาใน wordpress.org ใช้เวลาสักพักก็พบว่า themes ชื่อ news-magazine-theme-640 เป็นอะไรที่น่าสนใจมากครับ .. ถ้าใช้ก็ต้องศึกษาเรื่อง seo ไปพร้อมกัน
+ http://wordpress.org/extend/themes/news-magazine-theme-640http://www.thaiseoboard.com/index.php?topic=100797http://www.solostream.com/wordpress-themes/
http://yonok.startupthailand.com
+ http://wordpress.org/extend/themes/

ปรับแว็บไซต์ (wap site) และเพิ่มข้อสอบ

ข้อสอบใน wap site

20 ก.พ.53 ตรวจสถิติจากไซต์ของผู้ให้บริการโฮส พบว่า เว็บเพจโปรแกรมข้อสอบผ่าน wap ถูกใช้บริการมีปริมาณการเข้าใช้สูงมากในเดือนมกราคม 2553 เป็นเว็บเพจที่ไม่มีระบบสถิติใด ๆ วางไว้ เพราะต้องการให้เข้าถึงด้วยโทรศัพท์เคลื่อนที่อย่างรวดเร็ว ครั้งแรกที่ออกแบบโปรแกรมนั้นมีความตั้งใจให้ลูกได้เข้าไปเรียนรู้เกี่ยวกับคำศัพท์อย่างง่ายเท่านั้น
     การปรับปรุงโปรแกรมในชุดแว็บไซต์ มีดังนี้ 1) ให้ลูกช่วยพิมพ์ศัพท์ 5 ตัวอักษรร้อยกว่าตัว เป็นข้อสอบร้อยกว่าข้อ 2) ตรวจข้อสอบศัพท์ 4 ตัวอักษรแล้วเพิ่มเป็น 316 ข้อ 3) ปรับโปรแกรมทั้งหมดเข้ามาตรฐาน xml ให้ใช้ได้กับ wapsilon.com ถ้ามีโอกาสก็จะเข้าไปเพิ่มศัพท์ 6 ตัวอักษร และ 7 ตัวอักษรต่อไป
+ http://www.thaiall.com/wap
+ http://www.wapsilon.com
+ http://tagtag.com/site/emulator
+ http://www.mobilerunner.net/emu_wap3/p/wap3/

แปลงเลขอารบิกเป็นเลขไทย

การแปลงเลขอารบิกเป็นเลขไทยด้วย macro

10 ก.พ.53 เรื่องนี้ควรเขียนเมื่อหลายเดือนก่อนหน้านี้ เพราะ ผศ.ดร.จินดา งามสุทธิ ท่านอธิการบดี รณรงค์ให้ใช้เลขไทยในบันทึกข้อความ แต่ความไม่ชินและความมักง่าย ทำให้ผมเลือกใช้วิธีแปลงเลขอารบิกด้วยการ replace ถึง 10 ครั้ง เพื่อเปลี่ยนตัวเลขทีละตัว แต่ถ้าให้อัตโนมัติก็จะเข้าไปกำหนดใน autocorrect สำหรับแต่ละตัวเลข แต่ใช้ได้กับเลขหลักเดียว ก็ช่วยได้เพียงระดับหนึ่ง (วันนี้ผมเคลียร์งานเขียนแผน km ของมหาวิทยาลัยล้อกับโครงการอบรมประกันฯของ อ.ศศิวิมล แรงสิงห์ เสร็จเร็วกว่าที่คาด) จึงคิดว่าถึงเวลาที่ไม่ควรผลัดวันประกันพรุ่งอีกต่อไป เมื่อศึกษาวิธีการแทนที่ตัวเลขด้วย macro ที่เขียนแบบใช้ใน word กับ excel เผยแพร่ใน thaiall.com/vb เพราะ macro ใช้ visual basic script ใน module สำหรับการประมวลผล
แหล่งเก็บ macro มี 2 แบบคือ ใน normal หรือ ใน document ถ้าเป็นแบบใน document เมื่อสร้างเอกสารก็จะติดเอกสารไป เปิดเอกสารใหม่จะไม่พบ macro เดิม แต่ถ้าเป็นแบบใน normal จะมี macro ติดอยู่ใน template ของ word ทำให้เปิด word แล้วเรียกใช้ macro ได้ทุกครั้ง สำหรับวิธีสร้างและใช้ macro นั้นเริ่มต้นด้วยการคัดลอกโค้ดไปใส่ใน module ของ macro แล้วสั่ง run ใน macro เมื่อต้องการเปลี่ยนตัวเลขทั้งหมดเป็นเลขไทย ซึ่งโค้ดได้สั่งแทนที่ทั้ง 10 ตัวอักษรเป็นเลขไทยอัตโนมัติ การนำไปใช้สำหรับ word กับ excel ต่างกันเล็กน้อย ถ้านำไปใส่ไม่ได้ โปรดติดต่อช่างเทคนิคใกล้บ้าน เพราะส่งเข้า word ครั้งเดียว แต่ใช้งานได้ตลอดไป .. ต่อไปผมก็จะเริ่มใช้แล้ว เพราะ replace 10 ครั้ง ไม่ดีแน่

source code : macro of word

Sub arabictothai()
For i = 0 To 9
With Selection.Find
.Text = Chr(48 + i)
.Replacement.Text = Chr(240 + i)
.Wrap = wdFindContinue
End With
Selection.Find.Execute Replace:=wdReplaceAll
Next
End Sub

source code : macro of excel

Sub arabictothai()
For i = 0 To 9
Cells.Replace What:=Chr(48 + i), Replacement:=Chr(240 + i)
Next
End Sub

การแปลงเลขใน excel

1. ถ้าเป็น excel ไม่ต้องใช้ function ให้กด Ctrl-A แล้วกำหนด format ของ cell ใน Number,  Custom เป็น [$-D07041E]0 ก็จะทำให้ข้อมูลที่เป็นตัวเลขทั้งหมดเป็นเลขไทย
2. ถ้าต้องการมี , กั้นหลักพันก็ใช้ [$-D07041E]#,###,##0 อะไรทำนองนี้ ok ไหมครับ

สาธิต : http://www.youtube.com/watch?v=JNy15bLnt9k
ข้อมูลเพิ่มเติม : http://www.thaiall.com/blog/burin/1496/

สถิติเข้า wap ของผมเดือนธันวาคม52

สถิติทำให้เห็นรายการที่ผู้ใช้เข้าถึงระบบ wap

4 ก.พ.53 สถิติการเข้าเว็บไซต์มีอยู่หลายระบบ แต่ที่บริการโดยผู้ให้บริการเช่าเครื่องมีความละเอียดสูงมาก จากการตรวจสอบในปลายเดือนธันวาคม52 พบว่า thaiall.com/wap มี hits ของเว็บเพจสอบศัพท์อย่างง่ายสูงมาก เป็นศัพท์ 4 คำถึง 2หมื่นกว่า และศัพท์ 3 คำอีกหมื่นกว่าจาก 9383 แฟ้ม วันนี้จึงเข้าไปปรับให้ศัพท์ 4 คำมีความถูกต้อง และเพิ่มศัพท์อีกร้อยหนึ่ง รวมเป็นศัพท์ในข้อสอบสุ่มชุดนี้ประมาณสามร้อยกว่าคำ แต่ผมไม่ได้ใส่ adsense หรือ truehits เพราะต้องการให้ load ได้เร็วแม้จากโทรศัพท์เคลื่อนที่และ code ถูกออกแบบให้เปิดได้ทั้ง web browser และ wap browser
+ http://tagtag.com wap browser simulator

กรมคำสั่ง application.openforms

mdiparent กับ 2 form

28 ม.ค.53 ปกติผมไม่เขียนเรื่องเทคนิคการโปรแกรมใน blog เพราะมีรายละเอียดมาก และเขียนไว้ในเว็บเพจอยู่แล้ว แต่หัวหน้าแนะว่าอยากให้ เขียนเรื่อง application.openforms ซึ่งเป็นวิธีการส่งค่าระหว่างฟอร์มลูกใน mdiparent ซึ่งผมเคยเขียนไว้ในเว็บเพจว่าใช้วิธีอ้างผ่าน mdiparent แต่ทั้ง 2 วิธีที่จะนำเสนอนี้มีความแต่ต่างกันชัดเจน ซึ่งผมจะเขียนเรื่องนี้ไว้ใน
+ http://www.thaiall.com/vbnet/testtoolbox.htm
ขั้นตอนที่ 1 การสร้างคอนโทล เพื่อเตรียมความพร้อม
    
สร้าง mdi parent form และ windows form ขึ้น 2 form เมื่อเปิด solution ให้เรียกทั้ง 2 ฟอร์มมาแสดงใน mdi parent form ทันที โดยใส่คำสั่งในโหลดของเอ็มดีไอ คือ dim f1 = new form1 : f1.mdiparent = me : f1.show() : dim f2 = new form2 : f2.mdiparent = me : f2.show() แล้วในฟอร์มทั้งสองมี ปุ่มและเท็คบ็อกอย่างละหนึ่ง
ขั้นตอนที่ 2 ทดสอบคำสั่งที่ใช้ส่งค่าเมื่อกดปุ่ม
    กรณีที่ 1 กรอกข้อมูลและสั่งจากฟอร์มหนึ่งแต่มีผลในฟอร์มสอง ใส่คำสั่งในปุ่มของฟอร์มหนึ่งว่า For Each f As Object In MDIParent1.MdiChildren : If UCase(f.name) = “FORM2” Then : Dim f2 As Form2 = f : f2.TextBox1.Text = Me.TextBox1.Text : MsgBox(“wait”) : f2.Close() : End If : Next
    กรณีที่ 2 ทดสอบตามที่หัวหน้าแนะนำให้ใช้ application.openforms โดยสั่งจากฟอร์มสองแต่มีผลในฟอร์มหนึ่ง โดยใส่คำสั่งในปุ่มของฟอร์มสองว่า Dim f As Form : f = Application.OpenForms.Item(“form1”) : For Each i As Object In f.Controls : If UCase(i.name) = “TEXTBOX1” Then : i.text = “abc” : End If : Next : MsgBox(“wait”) : f.Close()
ขั้นตอนที่ 3 อธิบายความแตกต่าง
     ทั้ง 2 กรณีต่างกันที่ กรณีที่ 1 อ้างอิงฟอร์มเป้าหมายผ่าน mdiparent1 แล้ววนลูปตาม object ทั้งหมดในนั้น โดยมองหาวัตถุที่ชื่อ FORM2 เมื่อพบก็จะส่งเข้าวัตถุชิ้นใหม่ให้อ้างอิง แล้วจึงเรียกใช้ textbox1 ตามวัตถุประสงค์ แต่กรณีที่ 2 อ้างอิงฟอร์มเป้าหมายผ่าน Application.Openforms ซึ่งเรารู้ว่า Form1 เปิดอยู่ แล้วก็วนลูปเข้าไปใน controls ทั้งหมด เมื่อพบ textbox1 ก็ดำเนินการทันที

เก็บ log ของผู้ใช้ระบบอินทราเน็ตไม่เข้า

สถิติ และข้อมูลผู้ใช้ล่าสุด

19 ม.ค.53 เมื่อ 2 วันก่อนคือวันอังคารที่ผ่านมา พบปัญหาว่า อ.อติชาต หาญชาญชัย เข้าสู่ระบบอินทราเน็ต (เป็นผู้ทดสอบที่ไม่ได้มาจากการรับบันทึกเชิญชวนบุคลากรของมหาวิทยาลัยให้เข้าทดสอบระบบ แต่มาจากการบอกต่อของบุคลากร) สิ่งที่พบคือไม่แสดงข้อมูลการเข้าใช้ในระบบเก็บ log และจำนวนผู้ใช้หยุดที่จำนวน 27 คนเท่านั้น จึงแจ้งไปยังคุณธรณินทร์ สุรินทร์ปันยศ ว่าเกิดอะไรขึ้น มีการปรับข้อมูลอะไรหรือไม่ เพราะข้อมูลล่าสุดเป็นของวันที่ 15 ม.ค.53 แล้วผมก็เห็นกับตาว่าท่านได้เข้าใช้ระบบเมื่อวานนี้ และผลลัพธ์ใน log ไม่ถูกปรับอย่างที่ควรจะเป็น เวลาผ่านไปประมาณ 2 ชั่วโมง ก็ได้ทราบว่าพบปัญหาจริง แต่ยังแก้ไขไม่สำเร็จ เพราะ code ทำงานในเครื่องจำลองที่ใช้เป็นฐานในการพัฒนานั้นทำงานอย่างถูกต้อง มีข้อสงสัยว่าระบบ mysql ในเครื่องหลักมีปัญหา .. ก็สงสัยว่าจริงหรือ
     เมื่อผมเข้าไปดู code ก็พบว่าปกติ แต่ insert record ใหม่ไม่เข้าเท่านั้น ไปตรวจจำนวนระเบียนพบว่ามี 127 ระเบียน และไม่มีการเพิ่มขึ้นอีก .. นึกไปนึกมา ก็นึกได้ว่า 127 คือครึ่งหนึ่งของ 256 ซึ่งเป็นเลขที่อาจเป็นข้อจำกัดของ data type ที่เก็บข้อมูล จึงเข้าไปดูโครงสร้างแฟ้มด้วย phpmyadmin ก็พบว่า autonumber กำหนดเป็น tinyint ซึ่งรับระหว่าง -128 – 127 เมื่อแก้ไขเป็น int แล้ว ก็เก็บข้อมูลของผู้ที่ login เข้าสู่ระบบได้ตามปกติ ถึงวันนี้มีผู้เข้าระบบไปแล้ว 33 คน สำหรับคณะวิทย์ฯ มีบุคลากรเข้าใช้งานไปแล้วร้อยละ 75 ซึ่งสูงที่สุดเมื่อเทียบในระดับคณะวิชาด้วยกัน

ส่งเมลด้วยฟังก์ชัน mail ของภาษา php

28 ธ.ค.52 เหตุเกิด เพราะมีนักพัฒนาท่านหนึ่งต้องการใช้บริการส่งอีเมลด้วย php ผ่านฟังก์ชัน mail กับเครื่องบริการเว็บเครื่องหนึ่ง แล้วส่งไม่ออก เนื่องจากผู้ดูแลไม่เปิดบริการ smtp ทิ้งไว้ เรามีเครื่องบริการส่งเมลอยู่หลายเครื่องที่ติดตั้งไว้ เมื่อเปิดบริการส่งเมลในเครื่องที่ต้องการใช้ขึ้นใหม่แล้ว กลับพบว่าส่งอีเมลไม่ได้ ทำให้ต้องหาสาเหตุและแก้ปัญหา แล้วผลการดำเนินการก็เกิดบทเรียนให้เรียนรู้ ซึ่งเครื่องบริการเว็บที่ทดสอบในครั้งนี้มี 4 เครื่อง เครื่องส่งอีเมลเดิมมี 3 เครื่อง แต่ละเครื่องแตกต่างกันในวิธีแก้ปัญหา ซึ่งดำเนินการร่วมกับคุณอนุชิต ยอดใจยา และคุณธรณินทร์ สุรินทร์ปันยศ
     เครื่องบริการเว็บที่ 1 ของคุณอนุชิต ยอดใจยา ทดสอบแล้วไม่พบปัญหา คือ ทำงานร่วมกับ smtp server ที่มหาวิทยาลัยใช้งานทั้ง 3 เครื่องได้ปกติ ได้แก่เครื่อง it, linux หรือ cat โดยเครื่องนี้ใช้ php 5.2.6 แก้ไข smtp ผ่าน ini_set ได้ทันที แต่เครื่องนี้มิใช่เป้าหมายที่นักพัฒนาท่านนั้นต้องการ เครื่องบริการเว็บที่ 2 เป็นเครื่องเป้าหมาย ที่ต้องการทำให้ส่งอีเมลให้ได้ เครื่องใช้ php 4.3.4 พบว่าวิธีแก้ปัญหาคือ กำหนด SMTP และ sendmail_from ใน php.ini ได้พยายามใช้ ini_set และ mail() ที่กำหนด from แล้ว แต่ก็แสดง error message ว่า connection ไม่สำเร็จ สรุปว่าแก้ไข php.ini แล้วก็ส่งออก ไม่ว่ากับเครื่องบริการส่งเครื่องใด เครื่องบริการเว็บเครื่องนี้ก็ส่งได้จากเดิมที่ส่งไม่ได้เลย
     เครื่องบริการเว็บที่ 3 แก้ไขเหมือนเครื่องที่ 2 หรือ 1 ก็ยังส่งอีเมลไม่ได้ เครื่องทำหน้าที่เป็นทั้งเครื่องบริการ ส่งและเครื่องบริการเว็บในตัวเอง ส่วนซอฟท์แวร์ก็เหมือนกับเครื่องที่ 1 และถูกใช้มาโดยตลอด พบว่าวิธี แก้ปัญหาคือ กำหนด SMTP ใน php.ini จาก localhost เป็น ip address ของตนเอง ก็คาดว่าการใช้ localhost ไม่ได้เกิดจากการ config เครื่องบริการส่งเมลเป็นเหตุ แต่ตอนนี้ใช้ได้แล้วก็ไม่คิดจะเข้าไปแก้ไขอีก เครื่องบริการเว็บที่ 4 เป็นของคุณธรณินทร์ สุรินทร์ปันยศ ใช้บทเรียนที่ผ่านมาแก้ไขก็ยังไม่สำเร็จ พบ error ว่า connection กับ smtp server ไม่สำเร็จ  พบว่าวิธีแก้ปัญหาคือ ปิดบริการ Antivirus ของ Mcafee ซึ่งมี firewall ในตัว ก็ใช้ได้ปกติในทันที
+ SMTP = localhost
+ sendmail_from = a@a.com
+ mail(“x@x.com”,”hello”,”this is my test”,”From: y@y.com\nReply-To: z@z.com“);
+ ini_set(“SMTP”,”11.22.33.44″ );
+ ini_set(‘sendmail_from’, ‘b@b.com’);