PHP ช่วยให้คุณสามารถส่งอีเมลได้โดยตรงจากสคริปต์
ฟังก์ชั่น PHP mail() ใช้ในการส่งอีเมลจากสคริปต์
ไวยากรณ์
เมล (ถึง, หัวเรื่อง, ข้อความ, ส่วนหัว, พารามิเตอร์)
พารามิเตอร์ | อธิบาย |
---|---|
ถึง | ที่จำเป็น. ระบุผู้รับอีเมล |
เรื่อง | ที่จำเป็น. ระบุหัวเรื่องของอีเมล หมายเหตุ: พารามิเตอร์นี้ต้องไม่มีอักขระขึ้นบรรทัดใหม่ |
ข้อความ | ที่จำเป็น. กำหนดข้อความที่จะส่ง ควรใช้ LF (n) เพื่อแยกบรรทัด แต่ละบรรทัดควรมีความยาวไม่เกิน 70 อักขระ |
ส่วนหัว | ไม่จำเป็น. ระบุส่วนหัวเพิ่มเติม เช่น From, Cc และ Bcc ส่วนหัวเพิ่มเติมควรแยกโดยใช้ CRLF (rn) |
พารามิเตอร์ | ไม่จำเป็น. ระบุพารามิเตอร์เพิ่มเติมสำหรับเมล |
หมายเหตุ: การเรียกใช้ฟังก์ชันเมลใน PHP จำเป็นต้องมีระบบเมลที่ติดตั้งและใช้งานอยู่ (เช่น sendmail, postfix, qmail เป็นต้น) โปรแกรมที่ใช้ถูกกำหนดผ่านการตั้งค่าในไฟล์ php.ini อ่านเพิ่มเติมในคู่มืออ้างอิง PHP Mail ของเรา
วิธีที่ง่ายที่สุดในการส่งอีเมลผ่าน PHP คือการส่งอีเมลข้อความ
ในตัวอย่างต่อไปนี้ ขั้นแรกเราจะประกาศตัวแปร ($to, $subject, $message, $from, $headers) จากนั้นเราใช้ตัวแปรเหล่านี้ในฟังก์ชัน mail() เพื่อส่งอีเมล:
<?php$to = "[email protected]"; // ผู้รับอีเมล $subject = "พารามิเตอร์อีเมล"; // ชื่ออีเมล $message = "สวัสดี! นี่คือเนื้อหาของอีเมล"; $ from = "[email protected]"; // ผู้ส่งอีเมล์ $headers = "From:" . $from; // อีเมลการตั้งค่าอีเมล($to,$subject,$message,$headers);echo "ส่งอีเมลแล้ว";?>
ด้วย PHP คุณสามารถสร้างแบบฟอร์มคำติชมบนเว็บไซต์ของคุณได้ ตัวอย่างต่อไปนี้ส่งข้อความไปยังที่อยู่อีเมลที่ระบุ:
<html><head><meta charset="utf-8"><title>บทช่วยสอนการเขียนโค้ด (codercto.com)</title></head><body><?phpif (isset($_REQUEST['email' ] )) { // หากได้รับพารามิเตอร์อีเมล ให้ส่งอีเมล // ส่งอีเมล $email = $_REQUEST['email'] ; $subject = $_REQUEST['subject'] ; $_REQUEST['message'] ; mail("[email protected]", $subject, $message, "From:" . $email); echo "ส่งเมลเรียบร้อยแล้ว";} else { // หากไม่มีอีเมล พารามิเตอร์ จากนั้นแสดงแบบฟอร์ม echo "<form method='post' action='mailform.php'> Email: <input name='email' type='text'><br> Subject: <input name='subject' type='text'><br> ข้อความ:<br> <textarea name='message' rows='15' cols='40'> </textarea><br> <input type='submit'> </form >";}?></body></html>คำอธิบายตัวอย่าง:
ขั้นแรก ตรวจสอบว่าได้กรอกช่องป้อนข้อมูลอีเมลแล้วหรือไม่
หากไม่ได้กรอก (เช่น เมื่อเข้าชมเพจเป็นครั้งแรก) ให้ส่งออกแบบฟอร์ม HTML
หากกรอกแล้ว (หลังจากกรอกแบบฟอร์มแล้ว) ให้ส่งอีเมลจากแบบฟอร์ม
หลังจากกรอกแบบฟอร์มและคลิกปุ่มส่ง หน้าจะถูกโหลดซ้ำและคุณจะเห็นว่าการป้อนข้อมูลอีเมลถูกรีเซ็ตและมีข้อความแจ้งว่าส่งอีเมลสำเร็จแล้วแสดงขึ้น
หมายเหตุ: อีเมลธรรมดานี้ไม่ปลอดภัย ในบทถัดไปของบทช่วยสอนนี้ คุณจะอ่านเพิ่มเติมเกี่ยวกับความเสี่ยงด้านความปลอดภัยในสคริปต์อีเมล เราจะอธิบายวิธีตรวจสอบอินพุตของผู้ใช้เพื่อให้ปลอดภัยยิ่งขึ้น
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับฟังก์ชัน PHP mail() โปรดไปที่คู่มืออ้างอิง PHP Mail ของเรา