หน้าเว็บ

24 ก.พ. 2557

เรื่องวุ่นๆ ของ mailer


ขอบคุณรูปภาพน่ารักจาก
 http://kqkangaroo.deviantart.com/art/DON-T-SEND-ME-MORE-MAIL-415491991

ข่าวคราวเงียบหายมาสองสามเดือน อยากตะโกนดังว่า "กลับมาแล้วคร้าาาาาาาาาาาาา"  เนื่องจากอยู่ในช่วงพระศุกร์เข้าพระเสาร์แทรก อะไรก็ยุ่งไปหมด แต่หลังจากนี้จะไม่มีอะไรมาขัดขวางเราได้แล้ว หึหึหึ  เลยจะค่อยๆ ทะยอยเล่า(หรือบ่น ><) ถึงปัญหาระดับ PHP แล้ววิธีแก้ปัญหาทั้งหมดก่อนหน้านี้ นะเคอะ

เข้าเรื่องค่ะ

หลายคนมีปัญหากับสคริปส่งอีเมลล์กันเหลือเกิน รวมตัวเราด้วยแหละ /~~  จนมาเจอตัวหนึ่งอยากบอกว่าเริดอะ ชอบมากจนถึงขั้นติดใจ (เทพๆ ทั้งหลาย อย่าอ่านต่อเลย อายค่ะ 5555) หลายๆ คนคงรู้จักกันในนาม phpmailer แต่หลายคนยก็ไม่รู้จัก  เอ๋!!! แล้วมันคืออะไร ใช้ยังไงหละ

ถ้าถามว่ามันคืออะไร เชิญหาในอากู๋<google>ได้นะคะ (ขี้เกียจอธิบาย ;P) แต่ถ้าถามว่ามันใช้ยังไงหละก็ เตรียมตัวลุยไปพร้อมกันเลยคร้าาาาาาาาาาาาาาา

อันดับแรก ต้องไปโหลด phpmailer มาจากเว็บก่อนนะคะ ลองหาดูค่ะ

ต่อมาก็แตกไฟล์ออกมาค่ะ จะเจออะไรย้วยเยี้ยเยอะแยะมากมายจนไม่อยากทำต่อ อดทนใว้จ๊ะ T^T



เลือกเฉพาะไฟล์  class.phpmailer.php, class.smtp.php, class.pop3.php นะคะ แยกใส่ Folder ต่างหากเลยเดี๋ยวงง 

จากนั้นสร้างไฟล์ชื่อว่า send.php แล้วใส่ code ทั้งหมดนี้ลงไป (แนะนำให้พิมพ์เองนะ จะได้จำได้)

<?

require 'class.phpmailer.php';
//------------------------------ Connect Email -----------------------------//   
    $mail1 = new PHPMailer();

   
    $mail->CharSet = "utf-8";
   
    $mail->From = "yourmail@domainname.com";  //อีเมลล์ผู้ส่ง

    $mail->FromName = "Your name";  //ชื่อคนส่ง

    $mail->Host = "mail.domainname.com"; 
     //SMTP Server โดนเมนที่จดเองบางที่จะเหมือนตัวอย่าง แต่บางที่จะใช้ stmp.domainname.com
    //แต่เมลล์ทั่วไปจะใช้ stmp.gmail.com(gmail), stmp.live.com(hotmail), stmp.mail.yahoo.com

    $mail->Port = 25; //port ก็ขึ้นอยู่กับผู้ให้บริการอีเมลล์นะ ลองหาดูว่าใครใช้อะไร

    $mail->Mailer = "smtp"; //จะกำหนดค่าเป็น stmp หรือ pop3 ตามใจจ้า ซึ่งแต่ละแบบก็ไม่เหมือนกัน ลองหาข้อมมูลเอานะ แต่แนะนำ stmp
    $mail->AddAddress("to1@domainname.com"); //อีเมลล์ผู้รับคนที่ 1
    $mail->AddAddress("to2@domainname.com"); //อีเมลล์ผู้รับคนที่ 2 (จะมีอีก 10 ยังได้เลย ^^)
   
   
    $mail->WordWrap = 100;  
    $mail->Subject = "send mail by Mailer";
    $mail->Body    = $contents01; //ข้อความที่จะส่งไปสามารใส่เป็นตัวแปลได้ หรือหากต้องการใส่เป็นประโยคทั่วไป ทำได้โดยใส่ฟันหนู (" ") ครอบข้อความ เช่น $mail->Body    = "คิดถึงนะ";

    $mail->IsHTML(false);
   
    $mail->SMTPAuth = "true";
    $mail->Username = "youruser@domainname.com"; //อีเมลล์ผู้ส่ง
    $mail->Password = "yourpassword"; //รหัสผ่านสำหรับอีเมลล์ผู้ส่ง
   

    $mail->Send();  //ส่งเลยยยยยยยยยยย



//------------------------------ Check Send-----------------------------//   
 
if(!$mail1->Send()&&!$mail2->Send())
{
   echo "Message could not be sent. <p>";
   echo "Mailer Error: " . $mail->ErrorInfo;
   exit;
}
else
{
   echo "Complete HAHAHA";
}

?>


 แค่นี้ก็เรียบร้อยโรงเรียนเราแล้วจ้า อาจจะอธิบายได้ไม่ละเอียดเท่าไหร่ อย่าโกรธกันนะ เราเชื่อว่าถ้าคุณพร้อมที่จะเรียนรู้แล้วไม่มีอะไรยากเกินกว่าความสามารถมนุษย์หรอกน่า เคอะปะ ~O~