สรุปแนวทางในการเขียนโปรแกรม เพื่อส่งเมล การส่งเมล ออกจากโปแกรมเป็นเรื่องจำเป็นและมีการใช้งานกันมา สำหรับ Web application ระบบที่มีการส่งเมล ออกจากโปรแกรม เช่น ระบบสมัครสมาชิก ,ระบบแจ้งเมื่อลืมรหัสผ่าน, โปรแกรม ส่งข่าวสารให้สมาชิก หรือ การแจ้งเตือนต่างๆ เป็นสิ่งจำเป็นที่ต้องใช้เมลเซิฟเวอร์ แต่ปัญหาของ Programmer คือในขั้นตอนการพัฒนา เป็นเรื่องลำบากที่จะ test ส่งเมลเราต้องติดตั้ง Mail Server ก่อน หรือ อาจใช้ SMTP ของ ข้างนอก เช่น SMTP ของเว็บเอง หรือ SMTP ของ Gmail แต่นั่นไม่ใช่ทางแก้ปัญหา เพราะเราไม่ควรเอาเมลที่มีการใช้งานจริงๆ มา Test โปรแกรมที่เราสร้างขึ้นมา
มาดูทางออกกัน ถ้าเราจำลองเครื่องด้วย XAMPP จะมี Mail Server มาให้ แล้วคือ Mercury Mail Server ดูวิธีตั้งค่าได้ตามลิงค์ ทำให้เราเพิ่ม ทางเลือกในการทดสอบการส่งเมลได้


วิธีการทดสอบโปรแกรมส่งเมล (ไม่ต้องส่งเมลจริงออกข้างนอกให้วุ่นวายใจ แม้ไม่เชื่อมต่อเน็ตก็สามารถทดสอบ ส่งเมลได้)
1. ใช้ mailtodisk ของ XAMPP  โดยปกติ XAMPP เวอร์ชั่น 1.7 เป็นต้นมาจะมี sendmail_path
sendmail_path = "D:\xampp\mailtodisk\mailtodisk.exe"ตรงนี้จะเป็นตัวช่วยให้เราทดสอบการส่งเมลจาก php โดยใช้ฟังก์ชั่นเมล ได้
เช่นทดสอบเขียน php ส่งเมลแบบง่ายๆ

<?php
$from_name = "Mindphp.com";
$from_email = "[email protected]";
$headers = "From: $from_name <$from_email>";
$body = "Hi, \nThis is a test mail from $from_name <$from_email>.";
$subject = "Test mail from Mindphp.com";
$to = "[email protected]";
 
if (mail($to, $subject, $body, $headers)) {
  echo "success!";
} else {
  echo "fail...";
}
?>

เนื้อหาเมลที่เราส่งออกจากไปอยู่ที่
D:\xampp\mailoutput\
2. ใช้ SMTP ของ Localhost (ไม่ใช่ SMTP ของ Gmail นะครับ )
ทำไมลองใช้ smtp ของ Localhost ก็เพราะเพราะไม่ต้องการให้เมลที่เราทดสอบไปเป็นขยะในเมลที่ใช้งานจริง และเราจะทดสอบ ส่งออกมากแค่ไหนก็ไม่ต้องกลัวโดนแบนจากผู้ให้บริการ
การเขียน php เพื่อส่งเมลด้วย SMTP เราสามาถใช้ swiftmailer หรือ phpMailer
ตัวอย่าง การใช้ phpMailer กับ SMTP ของ Localhost ดูตัวอย่างการ ตั้งค่า และ Config Mail Server เพื่อทดลองส่ง ได้ที่ การตั้งค่า Mercury Mail Server เพื่อทดสอบการส่งเมล ด้วย SMTP ใน Localhost

require_once('class.phpmailer.php');
$mail = new PHPMailer();
$mail->IsHTML(true); // กำหนดให้ ส่งเป็น html
$mail->IsSMTP();
$mail->SMTPAuth = true; // enable SMTP authentication
// $mail->SMTPSecure = "ssl"; // sets the prefix to the servier
// $mail->Host = "smtp.gmail.com"; // sets GMAIL as the SMTP server
$mail->Port = 25; // port ที่เราติดตั้ง Mail Server ไว้ด
$mail->Host = '127.0.0.1'; // IP ของ Localhost
$mail->Username = " [email protected]"; // ชื่อ E-mail ที่เราสร้างไว้
$mail->Password = "xxxxx"; // รหัสผ่าน
$mail->From = "เมลผู้ส่ง"; // เช่น [email protected]
$mail->FromName = "ชื่อผู้ส่ง";
$mail->Subject = "หัวข้ออีกเมล";
$mail->Body = "ข้อความที่จะส่ง เป็น html ก็ได้";
$mail->AddAddress("e-mail ผู้รับ", "ชื่อผู้รับ"); // ใส่ email ผู้รับอย่างเดียวก็ได้
$mail->Send(); // ส่งเมลออก 


เท่านี้เราก็ลองใช้ Outlook หรือ ThunderBird

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
งานประจำวันที่ 16 กรกฎาคม 2556
โดย M009 อ 16 ก.ค. 2013 10:16 am บอร์ด M009 - นายมารุต วิชญวรคุณ
1
11
อ 16 ก.ค. 2013 7:31 pm โดย M009 View Topic งานประจำวันที่ 16 กรกฎาคม 2556
งานประจำวันที่ 16 กรกฎาคม 2556
โดย M007 อ 16 ก.ค. 2013 10:04 am บอร์ด M007 - นางสาวชาลินี เกษรรัตน์
3
17
อ 16 ก.ค. 2013 7:28 pm โดย M007 View Topic งานประจำวันที่ 16 กรกฎาคม 2556
True visions สมัครฟรี ติดตั้งฟรีทุกจุด
โดย bluema อ 16 ก.ค. 2013 5:16 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
1
1608
พ 24 ก.ค. 2013 12:21 pm โดย bluema View Topic True visions สมัครฟรี ติดตั้งฟรีทุกจุด
B - ทดลอง เพิ่ม User และ ลอง import ใหม่หน่อย @tsukasaz
โดย mindphp อ 16 ก.ค. 2013 4:11 pm บอร์ด DTC
1
6
อ 16 ก.ค. 2013 6:32 pm โดย tsukasaz View Topic B - ทดลอง เพิ่ม User และ ลอง import ใหม่หน่อย @tsukasaz
phpbb3 ลง mod avatar post แล้วเกิด Error mcp ครับ
โดย chornma จ 15 ก.ค. 2013 12:22 pm บอร์ด สอบถามปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
8
2583
อ 16 ก.ค. 2013 8:39 pm โดย chornma View Topic phpbb3 ลง mod avatar post แล้วเกิด Error mcp ครับ
รบกวนช่วยหน่อยครับกำลังคิดหัวข้อโปรเจคสนใจ shopping cart อะครับควรจะเริ่มต้นยังไ
โดย kaiba008 จ 15 ก.ค. 2013 4:56 pm บอร์ด Programming - PHP
3
2378
อ 16 ก.ค. 2013 12:42 pm โดย mindphp View Topic รบกวนช่วยหน่อยครับกำลังคิดหัวข้อโปรเจคสนใจ shopping cart อะครับควรจะเริ่มต้นยังไ
MOD Topics Icons in new column แสดง icon topic
โดย M009 อ 16 ก.ค. 2013 10:23 am บอร์ด PHPBB3.0 Mod Review
1
3478
อ 23 ม.ค. 2022 5:34 pm โดย บุคคลทั่วไป View Topic MOD Topics Icons in new column แสดง icon topic
MOD User Status Image or Text บอก สเตตัสเป็น ตัวอักษรหรือรูปภาพ
โดย M009 จ 15 ก.ค. 2013 6:55 pm บอร์ด PHPBB3.0 Mod Review
0
1757
จ 15 ก.ค. 2013 6:55 pm โดย M009 View Topic MOD User Status Image or Text บอก สเตตัสเป็น ตัวอักษรหรือรูปภาพ