Devdit
 

ตัวอย่างโปรแกรมส่งอีเมลภาษา PHP ด้วยคำสั่ง Mail

3.1K

บทความนี้เป็นตัวอย่างโปรแกรมส่งอีเมลด้วยภาษา PHP โดยใช้คำสั่ง Mail กรณีนำโค้ดนี้ไปใช้งานต้องนำไปรันที่เครื่อง Server ที่มีการติดตั้ง Mail Server (ไม่สามารถรันบน localhost ปกติได้) โดยมีรายละเอียดการเขียนโปรแกรมดังนี้

 

ตัวอย่าง หน้าฟอร์มเขียนอีเมล

<form action="<?=$_SERVER['PHP_SELF'];?>" method="POST">
    <input type="email" name="to" placeholder="อีเมลผู้รับ"><br/>
    <input type="text" name="subject" placeholder="หัวข้อ"><br/>
    <textarea name="message" placeholder="รายละเอียดอีเมล"></textarea><br/>
    <input type="submit" value="ส่งเมล์">
</form>

โค้ดด้านบนมีการสร้างตัวแปร 3 ตัว คือ $to ทำหน้าที่เก็บอีเมลผู้รับ, $subject เก็บหัวข้ออีเมล และ $message เก็บรายละเอียดอีเมล

 

ตัวอย่าง โค้ด PHP ส่งอีเมล

isset( $_POST['to'] ) ? $to = $_POST['to'] : $to = "";
isset( $_POST['subject'] ) ? $subject = $_POST['subject'] : $subject = "";
isset( $_POST['message'] ) ? $message = $_POST['message'] : $message = "";

if( !empty( $to ) && !empty( $subject ) && !empty( $message ) ) {
    $from = "support@yourdomain.com";  //แก้ไขเป็นอีเมลของโดเมน เช่น support@โดเมนของคุณ.com
    
    $headers = 'From: '.$from.'' . "\r\n" .
    'Content-type: text/html; charset=utf8' .
    'X-Mailer: PHP/' . phpversion();
    
    mail($to, $subject, $message, $headers);  
}

โค้ดด้านบนมีการรับตัวแปรทั้ง 3 จากฟอร์ม HTML จากนั้นเช็คว่ามีค่าหรือไม่ กรณีถ้ามีค่าจึงนำตัวแปรทั้ง 3 มาส่งอีเมลด้วยคำสั่ง mail ก่อนนำโค้ดนี้ไปใช้งานให้แก้ไขค่าของตัวแปร $from เป็นอีเมลของโดเมนที่ทำหน้าที่ส่งอีเมล

ตัวอย่าง โปรแกรมแบบเต็ม

<form action="<?=$_SERVER['PHP_SELF'];?>" method="POST">
    <input type="email" name="to" placeholder="อีเมลผู้รับ"><br/>
    <input type="text" name="subject" placeholder="หัวข้อ"><br/>
    <textarea name="message" placeholder="รายละเอียดอีเมล"></textarea><br/>
    <input type="submit" value="ส่งเมล์">
</form>

<?php
    isset( $_POST['to'] ) ? $to = $_POST['to'] : $to = "";
    isset( $_POST['subject'] ) ? $subject = $_POST['subject'] : $subject = "";
    isset( $_POST['message'] ) ? $message = $_POST['message'] : $message = "";

    if( !empty( $to ) && !empty( $subject ) && !empty( $message ) ) {
        $from = "support@yourdomain.com";  //แก้ไขเป็นอีเมลของโดเมน เช่น support@โดเมนของคุณ.com
        
        $headers = 'From: '.$from.'' . "\r\n" .
        'Content-type: text/html; charset=utf8' .
        'X-Mailer: PHP/' . phpversion();
        
        mail($to, $subject, $message, $headers);  
    }
?>
เขียน 3 ปีที่แล้ว
ชอบ
ลิ้งก์
แชร์
Devdit มีช่อง YouTube แล้ว
เราสร้างวิดีโอเกี่ยวกับเทคโนโลยี ทำตามง่ายๆ