วิธีเขียน PHP Code Form ส่งเมล์ mail() พร้อมระบบป้องกัน SPAM [ฟรี code ตัวอย่าง]

นี่เป็นตัวอย่าง code การสร้าง form ส่งเมล์ด้วย php โดยใช้ mail () หรือ mail function ปกติของ php เพื่อใช้ส่งเมล์ออกภายนอก โดยสามารถใช้ส่งหา gmail hotmail yahoo หรือเมล์เซิร์ฟเวอร์อื่นๆ ได้
พร้อมแนะนำวิธีการเขียนระบบป้องกัน SPAM Post mail อย่างง่าย
 

สร้างไฟล์ form.php

<?
$num1 = rand(0,10);
$num2 = rand(0,10);
$_SESSION['total'] = ($num1 * $num2);
?>
<form action='send.php' method='post'>
   Subject : <input type='text' name='subj'><br>
   Name : <input type='text' name='name'><br>
   Email : <input type='text' name='email'><br>
   Tel : <input type='text' name='tel'><br>
   Message :   <textarea name="msg" rows="4" cols="30"></TEXTAREA><br>
   Verify Code : <?=$num1;?> * <?=$num2;?> = <input type='text' name='verifycode'>
   <input type='hidden' name='action' value='1'>
   <input type='submit' value='   ส่ง   '>
</form>


สร้างไฟล์ send.php

<?PHP
session_start();

/* Easy PHP Send mail by mean (http://oldirh.com)
# Create : 22/06/2009
*/


if($_POST['action']){
 if($_POST['verifycode'] !=$_SESSION['total'] ){
    echo " Verify Code ไม่ถูกต้อง โปรดใสใหม่อีกครั้ง<br>";
 }else{
     $headers  = "MIME-Version: 1.0\r\n";
     $headers .= "Content-type: text/html; charset=tis-620\r\n";
     $headers .= "From:  ".$_POST['name']." <".$_POST['email'].">\r\n";

     $msgs .= " จากคุณ  ".$_POST['name'].'<br>';
     $msgs .= " โทร  ".$_POST['tel'].'<br>';
     $msgs .= "ข้อความ<br>".$_POST['msg'];


     $mailto = "myEmail@domain.com"; # อีเมล์ผู้รับ
     if(mail($mailto, $_POST['subj'], $msgs, $headers)){
     echo "ส่งสำเร็จ";
     }else{
     echo "ผิดพลาด";
     }
     exit();
 }
  }
?>
 
 
ไอเรียลลี่โฮส
สำหรับการสนับสนุน และช่วยเหลือ
http://www.ireallyhost.com/support