ชื่อเรื่องซะยาวเหยียดเกือบวา 555
แทบจะเป็นเรื่องปกติของคนเขียนเว็บด้วย PHP จะต้องมีโค้ดส่งเมล์ เมื่อก่อนผมจะใช้วิธีอัปโหลดขึ้นไปเทสบนเซิฟเวอร์เลย แต่บางทีมันก็ไม่สะดวกอย่างแรง
ก็เลยจำเป็นจะต้องทำให้เครื่องตัวเองมีเมล์เซิฟเวอร์ซะ ทดสอบในเครื่องให้เสร็จเรียบร้อยแล้วค่อยอัปโหลดโค้ดไปใช้งาน สะดวกกว่าเย้อะะะ…
เมล์เซิฟเวอร์ที่เป็นที่นิยมก็เห็นจะได้แก่ argosoft mail server วันนี้ผมไม่ได้มากล่าวถึงตัว argosoft mail server แต่จะกล่าวถึง mail server อีกตัวหนึ่งที่ชื่อว่า hmailserver ซึ่งใช้งานง่ายมากๆ ตามมาดูวิธีเซ็ตอัป และการตั้งค่ากันครับ มันไม่ได้ยากเลย
เซ็ตอัป hmailserver
ก่อนอื่น ดาวน์โหลด hmailserver มาก่อน
ดับเบิลคลิกเพื่อทำการติดตั้ง
คลิก Next
เลือก I accept the agreement แล้วคลิก Next
คลิก Next
คลิก Next
เราใช้ PHP มันก็ต้องเลือก mySQL เป็นฐานข้อมูลเก็บอีเมล์ เลือก Use external database engine แล้วคลิก Next
คลิก Next
คลิก Install
นั่งรอครับ เครื่องผมมันเต่า
และแล้วก็จะมีหน้าต่างใหม่โผล่ขึ้นมา เพื่อให้เราตั้งค่าฐานข้อมูลเก็บอีเมล์ Next ไปเลยครับ
เลือก Create a new hMailServer database แล้วคลิก Next (เทคโนโลยี next next and finish นี่ช่างดีจริงๆ)
ป้อนรายละเอียด แล้วคลิก Next ไม่ต้องกังวลเรื่องชื่อฐานข้อมูลนะครับ เดี๋ยวมันจะสร้างให้ท่านเอง
Database server address : localhost
Port : 3306
Database name : hmailserver (อันที่จริงตั้งชื่อว่าอะไรก็ได้ แต่ให้ตามผมไปก่อน)
Username : root (username และ password ที่ใช้สำหรับเข้าจัดการฐานข้อมูล)
Password :
เลือก Apache2.2(Apache2.2) ถ้าในเครื่องท่านติดตั้ง Apache รุ่นอื่นไว้ก็ให้เลือกรุ่นนั้น
และแล้วโปรแกรมก็จะแจ้งว่าเกิด Error บางอย่าง ไม่ต้องตกใจ ให้ก้อปปี้ไฟล์ชื่อ libmySQL.dll จาก C:\AppServ\MySQL\bin\libmySQL.dll ไปทิ้งไว้ที่ C:\Program Files\hMailServer\Bin แล้วกดปุ่ม Next อีกครั้ง ทุกอย่างก็จะฉลุย
เมื่อโปรแกรมแจ้งว่าทุกอย่างเรียบร้อย คลิก Close ออกไปได้เลย
กลับไปที่หน้าต่างเดิม โปรแกรมจะให้เราตั้งรหัสผ่านสำหรับ admin ป้อนซะ แล้วคลิก Next
พระเจ้าจ้อซมันยอดมาก มาถึงหน้าสุดท้ายแล้ว ติ๊กถูก Run hMailServer Administrator แล้วคลิก Next
ติ๊กถูก Automatically connect on start-up แล้วคลิก Connect
ป้อนรหัสผ่านที่ท่านตั้งไว้ในตอนแรก แล้วคลิก OK ซะครับ
บทความนี้ยาวแท้ นี่ยังไม่ถึงครึ่งทาง ยังเหลือส่วนตั้งค่า hMailServer ให้มันรับส่งอีเมล์ภายในเครื่องได้ และการตั้งค่า outlook เพื่อดึงเมล์ที่เราจะลองทดสอบเขียน php ส่งอีเมล์
ใครมีม้ากระทืบโรง ขอเรียกกำลังสักขวดครึ่งขวดซิ เสือ 11 ตัวก็ได้ หงษ์ไม่กิน เพราะเมาแล้วชอบบิน มังกรทองก็ไม่เวิร์ค เมาแล้วเลื้อย กินเสือเมาเหมือนหมา ยังดีซะกว่า ขาเยอะปลอดภัย
ตั้งค่า hmailserver
ป้อนชื่อ domain ท่านสามารถใช้ชื่ออะไรก็ได้ที่ต้องการ แต่ ณ ตอนนี้ให้ตามผมไปก่อนนะครับ ในช่อง Domain ป้อน mailserver.com แล้วคลิกปุ่ม Save
ไปที่ Domain > mailserver.com > Accounts คลิกปุ่ม Add
ตั้งชื่ออีเมล์ พร้อมรหัสผ่าน แล้วคลิกปุ่ม Save
Address : platoosom
password : 123456
เพียงเท่านี้ก็เป็นอันเรียบร้อย ตั้งค่าแค่ 2 จุดเท่านี้แหละครับ อีเมล์ platoosom@mailserver.com นี้ เราจะใช้สำหรับเป็นอีเมล์ทดสอบโค้ด PHP ส่งอีเมล์ของเรา
ต่อไปก็จะเป็นขั้นตอนของการตั้งค่า outlook เพื่อดึงอีเมล์
ตั้งค่า outlook
ผมจะใช้ outlook express ที่ติดมากับตัววินโดว ส่วนท่านที่ใช้อีเมล์ไคลเอนท์ตัวอื่นก็ลองดูการตั้งค่าที่ผมแนะนำเป็นแนวทาง รับรองว่าทำได้ทุกอีเมล์แน่นอน
ไปที่ Tools > Accounts… > Mail > Add > mail…
ป้อน Display name , platoosom คลิก Next
ป้อนอีเมล์ ซึ่งก็คืออีเมล์ที่เราสร้างไว้ในตอนแรกนั่นแหละ platoosom@mailserver.com แล้วคลิก Next
สังเกตุให้ดี ในช่อง incoming และ outgoing mail เราจะใ่ส่ไอพี 127.0.0.1 ซึ่งหมายถึง เครื่องของเราเอง ที่ได้ติดตั้งเมล์เซิฟเวอร์ไว้เรียบร้อยแล้ว ป้อนรายละเอียดตามภาพแล้วคลิก Next
Incoming mail : 127.0.0.1
Outgoing mail : 127.0.0.1
ตรง Account name ให้ป้อนอีเมล์แบบเต็ม ป้อนรหัสผ่าน แล้วคลิก Next
การตั้งค่าต่างๆ เป็นเป็นอันเรียบร้อยโรงเรียนจีน ครบทุกอย่าง ต่อไปเราก็มาเขียนโค้ด PHP เพื่อทดสอบการส่งเมล์กัน เพื่อเป็นการยืนยันว่า สิ่งที่ผมแนะนำมาตั้งแต่ต้นจนจบนั้น มันใช้งานได้จริง
โค้ดส่งอีเมล์
<?php $to = 'platoosom@mailserver.com'; $subject = 'test mail server'; $message = 'This is my first e-mail in my life'; $header = "MIME-Version: 1.0\r\n" ; $header .= "Content-type: text/html; charset=UTF-8\r\n" ; $header .= "From: no-reply@mailserver.com\r\n" ; if( mail( $to , $subject , $message , $header ) ){ echo 'Complete.'; }else{ echo 'Incomplete.'; } ?> |
หลังจากรันโค้ดนี้แล้ว ให้ท่านไปเปิด outlook ของท่านแล้วกดปุ่ม Send/Recv ถ้าท่านทำทุกอย่างถูกต้องท่านจะต้องได้รับอีเมล์ 1 ฉบับเป็นอย่างน้อย แน่นอน
ถ้าหากไม่มีอีเมล์เข้า ให้ท่านไล่อ่านบทความนี้ตั้งแต่ต้นจนจบอีกครั้งหนึ่ง แล้วก็ดูว่าท่านข้ามขั้นตอนไหนไปหรือเปล่า