ให้เรตสมาชิก: 2 / 5

ดาวใช้งานดาวใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

สรุปแนวทางในการเขียนโปรแกรม เพื่อส่งเมล การส่งเมล ออกจากโปแกรมเป็นเรื่องจำเป็นและมีการใช้งานกันมา สำหรับ 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 = "demo@localhost.com";
$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 = "demo@localhost.com";
 
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 = " deme@localhost.com"; // ชื่อ E-mail ที่เราสร้างไว้
$mail->Password = "xxxxx"; // รหัสผ่าน
$mail->From = "เมลผู้ส่ง"; // เช่น demo@localhost.com
$mail->FromName = "ชื่อผู้ส่ง";
$mail->Subject = "หัวข้ออีกเมล";
$mail->Body = "ข้อความที่จะส่ง เป็น html ก็ได้";
$mail->AddAddress("e-mail ผู้รับ", "ชื่อผู้รับ"); // ใส่ email ผู้รับอย่างเดียวก็ได้
$mail->Send(); // ส่งเมลออก

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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
การเรียกใช้ ฟังก์ชั่น ใน class เดียวกัน พร้อมส่งค่า โดย python
โดย bolue ส 13 มิ.ย. 2020 3:18 pm บอร์ด Python Knowledge
0
35
ส 13 มิ.ย. 2020 3:18 pm โดย bolue
เชื่อม กับ config แล้ว หน้าแรกรันได้ แต่พอรับ url เข้าไป กลับไม่ทำงาน
โดย bolue ส 13 มิ.ย. 2020 2:37 pm บอร์ด Programming - C/C++ & java & Python
8
91
ส 13 มิ.ย. 2020 6:54 pm โดย bolue
pagination flask ใช้ไม่ได้ แต่อีกไฟล์ใช้ได้ ทั้งที่วิธีเขียนเหมือนกัน
โดย bolue ศ 12 มิ.ย. 2020 11:48 pm บอร์ด Programming - C/C++ & java & Python
3
75
ส 13 มิ.ย. 2020 12:18 pm โดย mindphp
การ ดึง url ในหน้าของ url ที่เราใส่เข้าไป มาทั้งหมด โดย Python
โดย bolue ศ 12 มิ.ย. 2020 1:38 pm บอร์ด Python Knowledge
0
114
ศ 12 มิ.ย. 2020 1:38 pm โดย bolue
การเขียน class object ของ python และให้ return เรียกใช้ บน html รูปแบบเป็นแบบไหนคะ
โดย bolue ศ 12 มิ.ย. 2020 1:07 pm บอร์ด Programming - C/C++ & java & Python
5
145
ส 13 มิ.ย. 2020 10:34 am โดย bolue
'Robinhood' ฟู้ดเดลิเวอรี สัญชาติไทย โดยธนาคารไทยพาณิชย์ พร้อมการันตีไม่เก็บ GP (Gross Profit) ส่วนแบ่งจากร้านอาหาร
โดย thatsawan ศ 12 มิ.ย. 2020 8:38 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
76
ศ 12 มิ.ย. 2020 8:38 am โดย thatsawan
การทำการขาย ในระบบ ERP
โดย natthanit.r2538 พฤ 11 มิ.ย. 2020 6:45 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
90
พฤ 11 มิ.ย. 2020 6:45 pm โดย natthanit.r2538
สอบถาม wrap ค่าใน value ทะลุหน้าจอ ของ python บน html ค่ะ
โดย bolue พฤ 11 มิ.ย. 2020 6:18 pm บอร์ด Programming - C/C++ & java & Python
2
106
ศ 12 มิ.ย. 2020 10:58 am โดย bolue
สอบถามวิธีการดึง link ทั้งหน้า มาจากใน link อีกที โดย python flask ทำยังไงคะ
โดย bolue พฤ 11 มิ.ย. 2020 11:12 am บอร์ด Programming - C/C++ & java & Python
0
117
พฤ 11 มิ.ย. 2020 11:12 am โดย bolue
เข้าหน้าจัดการส่วนของ admin ใน joomla ไม่ได้
โดย thatsawan พฤ 11 มิ.ย. 2020 10:49 am บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
2
114
พฤ 11 มิ.ย. 2020 12:00 pm โดย thatsawan
netbeans เชื่อมต่อ gitlab ไม่ได้ แก้ยังไงคะ
โดย bolue พ 10 มิ.ย. 2020 7:55 pm บอร์ด Programming - C/C++ & java & Python
0
46
พ 10 มิ.ย. 2020 7:55 pm โดย bolue
แชร์เว็บบอร์ดแล้วข้อมูลข้ึนกรอบรวมกันหลายๆอัน
โดย bolue พ 10 มิ.ย. 2020 3:27 pm บอร์ด MindPHP News & Feedback
2
70
พ 10 มิ.ย. 2020 4:55 pm โดย bolue
MJ Upgrade ค้างจังหวะดาวโหลด Joomla 3.9
โดย panas พ 10 มิ.ย. 2020 3:12 pm บอร์ด Joomla Development
3
89
ศ 12 มิ.ย. 2020 12:40 am โดย mindphp
ไม่สามารถสมัครสมาชิก Mindphp ได้
โดย bolue พ 10 มิ.ย. 2020 2:03 pm บอร์ด MindPHP News & Feedback
1
46
พ 10 มิ.ย. 2020 2:14 pm โดย mindphp
สิ่งที่เกิดขึ้นของ pgAdmin 4 v4.22
โดย bolue พ 10 มิ.ย. 2020 10:01 am บอร์ด Python Knowledge
0
42
พ 10 มิ.ย. 2020 10:01 am โดย bolue
netbeans เชื่อมกับ gitlab ไม่ได้
โดย bolue อ 09 มิ.ย. 2020 6:36 pm บอร์ด Programming - C/C++ & java & Python
1
53
พ 10 มิ.ย. 2020 10:04 am โดย bolue
การเก็บรักษาเอกสารทางบัญชี
โดย natthanit.r2538 อ 09 มิ.ย. 2020 6:32 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
36
อ 09 มิ.ย. 2020 6:32 pm โดย natthanit.r2538
เอกสารที่ใช้ประกอบในการลงบัญชี
โดย natthanit.r2538 อ 09 มิ.ย. 2020 4:48 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
1
31
อ 07 ก.ค. 2020 11:12 am โดย thatsawan
วิธีการ ลบตารางออกจากฐานข้อมูล Postgres ด้วย Module psycopg2
โดย bolue อ 09 มิ.ย. 2020 3:44 pm บอร์ด Python Knowledge
0
32
อ 09 มิ.ย. 2020 3:44 pm โดย bolue
วิธีการ สร้างตารางข้อมูลในฐานข้อมูล Postgres ด้วย Module psycopg2
โดย bolue อ 09 มิ.ย. 2020 3:21 pm บอร์ด Python Knowledge
0
97
อ 09 มิ.ย. 2020 3:21 pm โดย bolue