ชื่อเรื่องซะยาวเหยียดเกือบวา 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 จุดเท่านี้แหละครับ อีเมล์ [email protected] นี้ เราจะใช้สำหรับเป็นอีเมล์ทดสอบโค้ด PHP ส่งอีเมล์ของเรา
ต่อไปก็จะเป็นขั้นตอนของการตั้งค่า outlook เพื่อดึงอีเมล์
ตั้งค่า outlook
ผมจะใช้ outlook express ที่ติดมากับตัววินโดว ส่วนท่านที่ใช้อีเมล์ไคลเอนท์ตัวอื่นก็ลองดูการตั้งค่าที่ผมแนะนำเป็นแนวทาง รับรองว่าทำได้ทุกอีเมล์แน่นอน
ไปที่ Tools > Accounts… > Mail > Add > mail…
ป้อน Display name , platoosom คลิก Next
ป้อนอีเมล์ ซึ่งก็คืออีเมล์ที่เราสร้างไว้ในตอนแรกนั่นแหละ [email protected] แล้วคลิก 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 = '[email protected]'; $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: [email protected]\r\n" ; if( mail( $to , $subject , $message , $header ) ){ echo 'Complete.'; }else{ echo 'Incomplete.'; } ?> |
หลังจากรันโค้ดนี้แล้ว ให้ท่านไปเปิด outlook ของท่านแล้วกดปุ่ม Send/Recv ถ้าท่านทำทุกอย่างถูกต้องท่านจะต้องได้รับอีเมล์ 1 ฉบับเป็นอย่างน้อย แน่นอน
ถ้าหากไม่มีอีเมล์เข้า ให้ท่านไล่อ่านบทความนี้ตั้งแต่ต้นจนจบอีกครั้งหนึ่ง แล้วก็ดูว่าท่านข้ามขั้นตอนไหนไปหรือเปล่า
cillout says:
13/02/2553 at 13/02/2553
ไม่ได้เข้าซะนานเปลี่ยนแปลงไปเยอะเลยครับ
นิวส์โฟลเดอร์ says:
13/02/2553 at 13/02/2553
เรื่องนี้ โดน มาก ๆ ต้องเก็บเข้า กรุ คร๊าบพี่ปลาทู
แนน says:
09/09/2553 at 09/09/2553
พี่คะจะส่งออกไปหา hotmail ต้องแก้ไขตรงไหนคะ
ขอบคุณคะ
ao says:
07/04/2554 at 07/04/2554
มีไมีไฟล์ libmySQL.dll ใน C:\AppServ\MySQL\bin\ จะมีวิธีแก้ไขอย่างไรบ้างคะ
.. says:
29/04/2554 at 29/04/2554
copy จาก C:\windows\system32\ ก็ได้
hnoo says:
18/05/2554 at 18/05/2554
ขอบคุณจริงๆค่ะกำลังกลุ้มใจเรื่องนี้อยู่พอดีเลย
sukanya says:
11/06/2554 at 11/06/2554
มันติดปัญหาตรงที่ป้อนรหัสผ่านอ่าค่ะ ลองทั้งรหัสผ่านของ phpmyadmin ก็แล้ว รหัสผ่านมันให้ตั้งไว้ ตอนที่ลงโปรแกรม ก็ไม่ผ่านอ่าค่ะ มันฟ้องว่ารหัสผิดตลอดเลย
พอมีวิธีแก้ไหมคะ
sukanya says:
12/06/2554 at 12/06/2554
แก้ได้แล้วค่ะ พอดีไปตั้ง username เป็นอย่างอื่น ซึ่งเขาบังคับให้ตั้งเป็น administrator เท่านั้น ว่าแล้วทำไมไม่ได้สักที
administrator says:
12/06/2554 at 12/06/2554
แท้งกิ้วจ้า ที่มาบอกกัน เผื่อคนอื่นติดจะได้แก้ได้
abura says:
14/08/2555 at 14/08/2555
มันขึ้น
Please wait while creating database…
Access denied for user ‘root’@’localhost’ (using password: YES)
Starting task…
ต้องทำยังไงอ่ะคะ T_T
วัชรเมธน์ ชิษณุคุปต์ ศรีเนธิโรทัย says:
14/08/2555 at 14/08/2555
รหัสผ่านของ root ไม่ถูกต้องครับผม
sarunyoo says:
03/10/2555 at 03/10/2555
กดรันโค้ดแล้วขึ้นแบบนี้คือไรอะครับ
Warning: mail() [function.mail]: SMTP server response: 551 User not local. We don’t relay in C:\AppServ\www\regis\tmail.php on line 10
Incomplete.
Siri says:
16/12/2555 at 16/12/2555
Starting task…
Please wait while creating database…
Access denied for user ‘root’@’localhost’ (using password: NO)
ขึ้นแบบนี้แล้วไปต่อไม่ได้เลยค่ะ ช่วยดูให้หน่อยนะคะ
วัชรเมธน์ ชิษณุคุปต์ ศรีเนธิโรทัย says:
18/12/2555 at 18/12/2555
มันบอกว่าปฎิเสธการเข้าใช้งานของแอคเค้า root ซึ่งสาเหตุอาจจะเกิดจาก แอคเค้านี้ไม่มีอยู่จริง หรือไม่งั้นก็รหัสผ่านผิด
Siri says:
18/12/2555 at 18/12/2555
พอจะมีวิธีแก้ไขมั้ยคะ พอดีตอนนี้ทำhmailserver อยู่นะคะ แต่ยังไม่ได้เลย รบกวนช่วยแนะนำด้วยนะคะ (ขอบคุณค่ะ
วัชรเมธน์ ชิษณุคุปต์ ศรีเนธิโรทัย says:
20/12/2555 at 20/12/2555
ก็แก้ด้วยการใส่รหัสผ่านของฐานข้อมูลให้ถูกต้อง แค่นั้นแหละ
Siri says:
20/12/2555 at 20/12/2555
แก้ได้แล้วค่ะ ขอบคุณค่ะ
วัชรเมธน์ ชิษณุคุปต์ ศรีเนธิโรทัย says:
21/12/2555 at 21/12/2555
คุณ Siri ช่วยเขียนบอกหน่อยครับว่าแก้ไขได้อย่างไร และปัญหาจริงๆของมันคืออะไร เผื่อคนอื่นที่เจอปัญหาเดียวกันมาอ่านเจอ จะได้เป็นวิชาทาน แก่เพื่อนๆ
siri says:
22/12/2555 at 22/12/2555
แก้ตรงusername กับpassword ให้เหมือนกันค่ะ รับรองผ่านฉลุยเลยค่ะ
Nattacha says:
28/09/2556 at 28/09/2556
ทำไมมัน Error แบบนี้ค่ะ
Warning: mail() [function.mail]: SMTP server response: 530 SMTP authentication is required. in C:\AppServ\www\HomeroomOnline.com\SendEmail.php on line 12
Thananya says:
19/10/2556 at 19/10/2556
ลองเขียนโค้ดส่งไป hotmail คะ ในหน้าเพจที่รันขึ้นว่า Complete. แต่เช็คดูในเมล์ก็ไม่มีเมล์เข้ามาคะ รบกวนช่วยแนะนำหน่อยนะคะ
punzaza says:
12/02/2557 at 12/02/2557
ลองเขียนโค้ดตามแล้วครับรันขึ้น complete แต่ทำไมไม่มีเมล์เข้ามาอ่าครับ
biw says:
08/03/2557 at 08/03/2557
libmySQL.dll ไฟล์นี้ไม่มีในเครื่องอ่ะค่ะ
วัชรเมธน์ ชิษณุคุปต์ ศรีเนธิโรทัย says:
10/03/2557 at 10/03/2557
หาดาวน์โหลดเอาจ่ะ