การตั้งค่า mercury ใน xampp สำหรับทดสอบส่งอีเมล บน localhost

เขียนเมื่อ 8 ปีก่อน โดย Ninenik Narkdee
mercury localhost xampp ส่งอีเมล

คำสั่ง การ กำหนด รูปแบบ ตัวอย่าง เทคนิค ลูกเล่น การประยุกต์ การใช้งาน เกี่ยวกับ mercury localhost xampp ส่งอีเมล

ดูแล้ว 17,365 ครั้ง


สำหรับเนื้อหาในตอนนี้ เราจะแนะนำเครื่องมือ สำหรับทดสอบการส่งอีเมล
ใน localhost (ไม่ได้รวมถึงการส่งออกไปยังอีเมลภายนอก อย่าง gmail yahoo hotmail)
เพื่อให้เราสามารถดูรูปแบบ หรือกำหนดค่าต่างๆ ในการส่งอีเมล ก่อนนำไปใช้งานจริง
 
ก่อนอื่นถ้าใครยังไม่ได้ติดตั้ง xampp ให้ดูเนื้อหาต่อไปนี้ก่อน เนื่องจาก mercury จะ
ให้เราติตั้ดมาในขั้นตอนของการติดตั้ง xampp 
 
ติดตั้ง xampp จำลอง server สำหรับนักพัฒนาเว็บด้วย php 
 
 

การตั้งค่า mercury/32 ใน xampp

 
สำหรับการตั้งค่าการใช้งาน mercury/32 สามารถทำได้ง่ายตามขั้นตอนต่อไปนี้
 

1. ให้กด Start เปิดการทำงาน mercury/32 แล้ว คลิกที่เมนู Admin

 
 
 

2. เมื่อเปิด Mercury/32 ขึ้นมาจะมีหน้าต่างๆ ส่วนจัดการหลายอันแสดงอยู่ในส่วนของโปรแกรม

ตามรูป ให้ปิดไปให้หมดได้เลย (หรือไม่ต้องสนใจ ปล่อยไว้ก็ได้ แต่ในตัวอย่างจะปิดไปทั้งหมดก่อน)
 
 

 
 

3. สร้างผู้ใช้งานใหม่ ในที่นี้ก็คือ อีเมล ที่เราจะทำการส่งอีเมลถึง โดยไปที่เมนู 

    Configuration > Manage local users.... ตามรูป
 
 

 
 

4. ในที่นี้เราจะสร้าง user ขึ้นมาอีก หนึ่ง โดยกำหนดค่าตามนี้

    Username:  demo
    Personal nam: Demo User
    Mail password: test
    APOP secret: test
 
    ดังรูป
 

 
 
    โดย user demo เราจะให้เป็นอีเมล ที่เราจะส่งถึง ส่วนอีเมลผู้ส่ง
เราจะใช้ postmaster ซึ่งเป็น user ที่มีมาแล้วในระบบ หรือถ้ายังไม่มี
ก็ให้เราเพิ่มเข้าไป
 
 

5. ตั้งค่าต่างๆ ตามลำดับ ตามรูปต่อไปนี้

    1. Configuration > Mercury core module

        แท็บ General
 

 
 
        แท็บ Local domain (เพิ่มค่าตามรุูป ถ้าไม่มีให้กดปุ่ม add new domain)
 
 
 

    2. Configuration > Aliases... 

         (ถ้าไม่มีค่าให้เพิ่มโดยกดที่ปุ่ม Add new alias)
 
 

    3. Configuration > Mercury SMTP Server




 

    4. Configuration > Mercury POP3 Server



 

    5. Configuration > Mercury SMTP Client




 

    6. Configuration > Mercury POP3 Client



 
เป็นอันเสร็จเรียบร้อยสำหรับการตั้งค่า mercury/32 ใน xampp 
สำหรับเนื้อหาในตอนนี้ เราจะไม่มีการทอสอบส่งอีเมลในรูปแบบ SMTP
แต่จะส่งผ่ายฟังก์ชั่น mail ปกติ เนื่องจากการจำลองใน localhost สำหรับ
การใช้งาน SMTP นั้นค่อนข้างยาก และอาจติดเงื่อนไขของแต่ละเครื่องแตกต่างกัน

 
 

การตั้งค่า account ใน thunderbird เพิ่มรับอีเมล

 
สำหรับในการทดสอบนี้เราจะใช้โปรแกรม mozilla thunderbird ซึ่งเป็น
โปรแกรมสำหรับรับ ส่ง อีเมล โดยเราจะทำการเพิ่มผู้ใช้ที่เราสร้างที่ชื่อ demo
 
หากยังไม่มีโปรแกรมนี้ สามารถดาวน์โหลดได้ที่
 
หลังจากดาวน์โหลดมาแล้ว ทำการติดตั้งจนเสร็จและเปิดโปรแกรมขึ้นมา
จากนั้นให้กดปุ่ม alt จะมีเมนูขึ้นมาตามรูป ให้เราเลือก Tools > Account Settings
 


 
 
จากนั้นเลือกเมนู Account Actions > Add Mail Account...
 


 
 
กรอกข้อมูลไปตามรูป
- Demo
- demo@localhost.com
- test
เสร้จแล้วกดปุ่ม continue
 


 
 
รอสักครู่ โปรแกรมจะแจ้ง error อันนี้ไม่เป็นไร ให้เรากำหนดค่าใหม่ ตามรูป
 
 

 
 
จากนั้นให้กดปุ่ม Re-test หากไม่เกิดข้อผิดพลาด และการตั้งค่าใน mercury ถูกต้อง ปุ่ม 
Done จะสามารถกดได้  ให้เรากดปุ่ม Done ตามรูป
 
 

 
 
จะมีการแจ้งเตือนขึ้นมา อันนี้ให้กด ยอมรับใน checkbox แล้วกดปุ่ม Done ต่อได้เลย
เพราะเป็นการแจ้งเตือนเรื่องการเข้ารหัสข้อมูล แต่ของเราเป็นแค่การทดสอบ 
หลังจากกดปุ่ม Done แล้วก็กดปุ่ม Ok ออกจากหนัา Account Settings
 
 

 
 
หลักจากกลับมาที่หน้าโปรแกรมหลัก ให้เรากดที่ inbox เพื่อรอตรวจสอบ อีเมลเข้า จะได้
โปรแกรม thunderbird พร้อมสำหรับการทดสอบอีเมล
 
 
 

 

สร้างไฟล์ทดสอบส่งอีเมล บน localhost

 
ต่อไปให้เราทำการสร้างไฟล์ เช่น maildemo.php ไว้ใน localhost ที่ไหนก็ได้
ในตัวอย่างจะไว้ที่ localhost/demo โดยโค้ดสำหรับทดสอบของเราจะเป็นดังนี้
 
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    
<?php
$to = "demo@localhost.com";

$to_user = "ผู้ใช้ Demo";
$subject = "สวัสดี ทดสอบส่งอีเมล!";
$from_user = "ผู้ใช้ Postmaster";

// ให้รองรับการแสดงภาษาไทยในโปรแกรม อ่านอีเมล 
$to_user = "=?UTF-8?B?".base64_encode($to_user)."?=";
$from_user = "=?UTF-8?B?".base64_encode($from_user)."?=";
$subject = "=?UTF-8?B?".base64_encode($subject)."?=";

$body="รายละเอียดอีเมล ทดสอบส่ง <br>";
$body.="ใช้งาน mercury/32 ใน xampp ส่งอีเมลใน localhost <br>";
$body.="จากเว็บไซต์ <a href='https://www.ninenik.com'>www.ninenik.com</a> <br>";
$body.="<img src='https://www.ninenik.com/images/logo_01_Sat.gif' /><br>";

$headers   = array();
$headers[] = "MIME-Version: 1.0";
$headers[] = "Content-type: text/html; charset=UTF-8";
$headers[] = "To: $to_user <$to>";
$headers[] = "From: $from_user <postmaster@localhost.com>";
//$headers[] = "Cc: Name CC <postmaster@localhost.com>";
//$headers[] = "Bcc: Name BCC <postmaster@localhost.com>";
//$headers[] = "Reply-To: Postmaster <postmaster@localhost.com>";
$headers[] = "Subject: $subject";
$headers[] = "X-Mailer: PHP/".phpversion();

if(mail($to, $subject , $body, implode("\r\n", $headers))){
    echo("ส่งอีเมลเรียบร้อยแล้ว!");
}else{
    echo("เกิดข้อผิดพลาด...");
}
 
?>
    
</body>
</html>
 
 
จากนั้นทดสอบรับโปรแกรม หากทำการส่งอีเมลสำหรับ จะแจ้งดังรูป
 
 

 
 
ต่อไปเรากลับมาที่โปรแกรมเปิดอีเมล  mozilla thunderbird 
กดที่ปุ่ม Get Messages หากไม่มีอะไรผิดพลาด เราจะได้รับอีเมล ที่เพิ่งส่งจาก
โปรแกรมทดสอบ ดังรุป
 
 
 
 
คลิกเปิดดูรุปแบบอีเมลที่เราส่ง
 
 


 
 
เป็นอันเสร็จเรียบร้อย กับการทดสอบส่งอีเมลบน localhost ด้วย mercury/32 ใน xampp

 


กด Like หรือ Share เป็นกำลังใจ ให้มีบทความใหม่ๆ เรื่อยๆ น่ะครับ











URL สำหรับอ้างอิง











เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ