ส่งเมล

การใช้ PHP ส่งเมลนั้นทำได้ง่ายมาก อาจจะเป็นภาษาที่ส่งเมลได้ง่ายที่สุดในบรรดาภาษาคอมพิวเตอร์ที่มีอยู่ในโลก ฟังชั่นที่ใช้ส่งเมลคือ mail()

mail ( $to, $subject, $message [, $headers[ , $additional_param] ] )

พารามิเตอร์ที่จำเป็นมีอยู่ 3 ตัว และพารามิเตอร์เสริม 2 ตัว คือ

  • $to ที่อยู่อีเมลผู้รับ
  • $subject หัวข้อของอีเมล
  • $message เป็นเนื้อหาของอีเมล
  • $headers เป็นพารามิเตอร์เสริม เอาไว้กำหนดหัวเมลเพิ่มเติม
  • $additional_param เป็นพารามิเตอร์เสริม สำหรับส่งค่าให้กับโปรแกรมส่งเมล (ไม่ค่อยได้ใช้)

การขึ้นบรรทัดใหม่ในเมลนั้นจะใช้ \r\n (เหมือนการขึ้นบรรทัดใหม่ในโปรแกรมของฝั่ง Windows) แทนที่จะใช้ \n อย่างเดียว ไม่ว่าจะส่งจาก OS ที่เป็น Windows หรือ Linux

    <?php

    $to = 'keancode@example.com';
    $subject = 'Want to be a contributor';
    $message = 'I think your blog is great ';
    $message .= 'and I want to be a contributor of this blog.';
    $message .= "\r\n\r\n";
    $message .= 'Best regards';

    mail($to, $subject, $message); // send!

แค่นี้ก็จบ

แต่ถ้าต้องการระบุอีเมลที่ใช้ส่ง รวมทั้งการใช้เนื้อหาในอีเมลเป็น HTML จะต้องใส่ $headers ลงไปด้วย

    <?php

    $from = 'me@example.com';
    $to = 'keancode@example.com';

    $subject = 'Want to be a contributor';

    $headers = 'From: ' . $from . "\r\n"; // sender
    $headers .= 'Reply-To: ' . $form . "\r\n"; // usually sender
    $headers .= "MIME-Version: 1.0\r\n";
    $headers .= "Content-Type: text/html; charset=utf-8\r\n";

    $message = '<style>.center {text-align: center;}</style>';
    $message .= '<div class="center">I think your blog is great ';
    $message .= 'and I want to be a contributor of this blog.</div>';
    $message .= "\r\n\r\n";
    $message .= '<strong>Best regards</strong>';

    mail($to, $subject, $message, $headers); // send!

ข้อจำกัดของอีเมลที่ควรรู้ไว้คือ

  • แนบ JavaScript ลงไปไม่ได้ (ที่จริงก็แนบได้ แต่โปรแกรมอ่านเมลทั้งหลายปิดการทำงานของ JavaScript ทิ้งเพื่อความปลอดภัย)
  • หากใช้ CSS จะต้องแทรกลงไปในเนื้อหาอีเมล ไม่สามารถแนบเป็นไฟล์ภายนอกไปได้
  • หากต้องการแทรกรูปภาพจะต้องใช้พาธเต็ม แต่หากไม่จำเป็นก็ไม่ควรจะใส่ลงไป
blog comments powered by Disqus