Scriptdd.com

บทความบ้าบ่นของคนทำเว็บ ปี 6

หาไม่เจอก็ search สิจ๊ะ Google

บริการโฮสติ้ง จดโดเมน คุณภาพ คลิก!!

เขียน php ส่งเมล์ด้วย PHPMailer ด้วย Gmail Account

หัวข้อ บทความ แทก PHP

เนื่องจากระบบ mail ของ Scriptdd พี่ต่อได้ย้ายไปใช้ระบบของ Google Apps ซึ่งไม่มีปัญหาครับ หลักๆก็แค่ ย้าย email ของ Scriptdd ทั้งหมดไปใช้ของ Googleแค่ email ละ 2G เอง อิอิ แต่ขั้นตอนมีมากกว่านั้นสำหรับ Script ส่งเมล์จาก Server

อย่างที่กล่าวขั้นตอน ผมจึงต้องการให้ Script หน้า Website ของผมส่งผ่านระบบของ Google ด้วย
ทางออกเริ่มแรกสำหรับเรื่องการส่งเมลืของผมคือ PHPMailer


PHPMailer

เป็น php class ที่เขียนขึ้นมาเพื่อจัดการเรื่องการส่งเมล์ให้สะดวกง่ายดายมากขึ้น

กล่าวคือ PHPMailer จะไม่สนใจว่า Server จะส่งเมล์ด้วย smtp , sendmail หรืออะไรก็ตาม
เมื่อเรา config เอาไว้ตอน Setup ครั้งเดียว เราก็เพียงเขียน script ส่งเมล์
ตาม parameter ต่างๆที่ Class ของ PHPMailer ระบุไว้เท่านั้นเอง

ฉะนั้นมันก็เลยทำให้ผมสะดวกขึ้นเวลาย้าย Script ไปมาไปใช้ Server โน้นก็ config ส่วนส่งเมล์
แบบนึง ไปอีก Server ก็ config ส่วนส่งเมล์อีกแบบนึงโดยไม่กระเทือนส่วนหลักของ Script



http://phpmailer.sourceforge.net/

ที่กล่าวมาทั้งหมด ผมไม่สอนครับ (งงแดกซะ) ไปหาอ่านเอาเองเพราะ Script และ ตัวอย่าง
ของ Website หลักเขียนไว้ละเอียดมากแล้ว ขยันนิดนะครับ


Config ให้ใช้งานกับ Gmail ได้

อย่างที่กล่าวไว้ตอนแรกว่า Scriptdd ใช้ระบบ mail ของ Gmail
ซึ่งหากใครเคยใช้งานจะทราบว่า Gmail อนุญาตให้ใช้ pop ได้คุณสามารถใช้ Outlook มาดึง mail ของคุณ
ไปได้ ฟรี !!

ซึ่งทั้ง pop และ smtp ของ gmail นั้น config ผ่าน SSL ทำให้เกิดปัญหาเมื่อเรา
ต้องการ config PHPMailer ให้เข้าไปเรียกใช้งาน

ฝรั่งแก้ให้แล้วครับไปอ่านโลด



http://www.buayacorp.com/archivos/phpmailer-con-gmail/

ไปหาอ่านกันดูครับ
เค้าแก้ script บางส่วนของ PHPMailer โดยเพิ่มให้รู้จัก SSL เข้าไป
ทั้งนี้ทั้งนั้น Server ต้องลง OpenSSL เอาไว้ด้วยนะครับ

ตัวอย่างการเรียกใช้ก็ดูจากหน้า Web เค้านะครับ :P

หรือว่า สุดๆแล้ว ขี้เกียจจะคิดอะไร ??~ ก็ คลิกที่นี่  >__< ผม Pack ทุกอย่างเอาไว้ให้พร้อมหมดแล้ว


สรุป

สรุปคือผมเอา PHPMailer มาโมดิฟายตามที่ Website ด้านบนบอกเพื่อให้สามารถส่งเมล์ผ่าน Account ของ Gmail ได้

ข้อดี
- ระบบส่งเมล์ที่แน่นอนขึ้น เนื่องจากส่งผ่าน Gmail
- ไม่ต้องคอยปวดหัวว่าเดี๋ยวส่งผ่าน เดี๋ยวส่งไม่ผ่าน

ข้อเสีย
- ระบบของ Gmail ให้เราสามารถส่งเมล์ได้สูงสุดไม่เกิน 100 mail ต่อวัน
ใครที่คิดจะเอาไปทำ spam newsletter ไปหาวิธีกันต่อเอาเอง :P

จบล่ะ


อ้างอิง

Website หลักของ PHPMailer
http://phpmailer.sourceforge.net/

หน้าตัวอย่าง Script
http://phpmailer.sourceforge.net/extending.html

Website บทความแก้ไข PHPMailer ให้ส่ง mail ผ่าน Gmail ได้
http://www.buayacorp.com/archivos/phpmailer-con-gmail/

รูปคุณ Read (9,536) Comments (11) 2007-06-17 20:58:48

ความคิดเห็น

แจ่มมากคับ ขอบคุณที่มีเว็บนี้อยู่ บน ประเทศไทย

รูปคุณ sw2band โดยคุณ sw2band 2007-06-17 22:56:27

น่าสนใจทีเดียวครับ กำลังติดปัญหาส่งเมล์ผ่านบ้างไม่ผ่านบ้างพอดี ขอบคุณครับ

รูปคุณ Tatump โดยคุณ Tatump 2007-06-18 20:13:44

แหม ๆ ๆ ไหน ๆ ก็ ไหน ๆ นะเฮีย

Gmail อนุญาตให้ใช้ pop ได้ เราสามารถใช้ นกฟ้าร้อง มาดึง mail ของเราไปได้ ฟรี

;)

รูปคุณ pF ;) โดยคุณ pF ;) 2007-06-20 06:30:00

Warning: fsockopen() expects parameter 2 to be long, string given in C:\AppServ\www\phpmailer\class.smtp.php on line 105
Error: SMTP Error: Could not connect to SMTP host.

มัน warning แบบนี้อ่ะครับ ผมเขียนเองส่งแบบไม่แนบ file ส่งได้นะครับ
โดยผ่าน SMTP แต่ใช้ phpmailer มัน warning ครับ

<?php

require_once 'class.phpmailer.php';

$mail = new PHPMailer ();

$mail -> From = "foo@gmail.com";
$mail -> FromName = "Foo";
$mail -> AddAddress ("ttuntawat@domain.com");
$mail -> Subject = "Test";
$mail -> Body = "<h3>From GMail!</h3>";
$mail -> IsHTML (true);

$mail->IsSMTP();
$mail->Host = 'ssl://smtp.gmail.com';
$mail->Port = 465;
$mail->SMTPAuth = true;
$mail->Username = 'foo@gmail.com';
$mail->Password = '******';

if(!$mail->Send()) {
echo 'Error: ' . $mail->ErrorInfo;
}
else {
echo "Error";
}


?>

รูปคุณ por โดยคุณ por 2007-07-12 17:41:50

ok.

รูปคุณ ศักดิ์ชัย โดยคุณ ศักดิ์ชัย 2007-09-05 17:23:00

ขอบคุณคับ

รูปคุณ Potter_Devil โดยคุณ Potter_Devil 2007-10-30 14:05:19

ถ้าผมจะทำ maillist ในการส่ง ข่าว ไป แล้วใช้ smtp ของ mail.gmail.com นี้ จะสามารถทำได้ไหมครับ โดยที่ mail ที่เราส่งต่อ มากกว่า 100 ฉบับ... ต่อวัน

รูปคุณ las โดยคุณ las 2008-02-01 10:21:39

ทดสอบการใช้งานดูแล้วไมไ่ด้ครับ

ขึ้นว่าแบบนี้ Warning: fsockopen(): no SSL support in this build in C:\WM\www\class.smtp.php on line 105

Warning: fsockopen(): unable to connect to smtp.gmail.com:465 in C:\WM\www\class.smtp.php on line 105
Êè§ä»áÅéÇ

รูปคุณ Liang โดยคุณ Liang 2008-02-27 09:39:43

ดีมากเลยครับ ขอบคุณครับ

รูปคุณ tgipmt-webmaster โดยคุณ tgipmt-webmaster 2008-03-28 15:52:06

ลองใช้แล้วแต่ พอส่งภาษาไทย มันเป็นภาษาต่างดาว แก้ยังไงดี ลอง encode ทุกภาษาแล้วก็ยังไม่ได้ค่ะ

รูปคุณ abc โดยคุณ abc 2008-07-27 23:49:07

ใช้ไม่ได้ครับ

รูปคุณ day2soft โดยคุณ day2soft 2008-09-09 20:10:24

ร่วมแสดงความคิดเห็น

ขอความกรุณา ปัญญาชน ทุกๆท่าน รณรงค์การใช้ภาษาไทยให้ถูกต้อง กรุณา
ลงความคิดเห็นโดยใช้ภาษาไทยให้เป็นภาษาไทย งดการใช้ภาษาวัยรุ่น,
แอ๊บแบ๊ว บอกตรงๆปัญญาอ่อน !! Admin นั่งอ่านแล้วปวดหัว

เข้าระบบ



สมัครสมาชิก
ลืมรหัสผ่าน

บทความล่าสุด

Tags

SEO Travel Payment Gateway Tool About me Framework Phantom Blog Internet Explorer Home Decorate Security Microsoft PHP Game Gallery Mozilla BarCampBangkok Lenovo ASP Review Live Cottoncandy Search Engine XHTML Hardware Yahoo Movie Downloads Instant Messenger Ajax

อื่นๆ ...

เพื่อนบ้าน

สถิติส่วนตัว

คลิกรับ Feed สิจ๊ะ

TwitterCounter for @9aum

Scriptdd.com | ctdd Version 3.0 ติดต่อฐานข้อมูลทิ้งสิ้น 6 ครั้งใช้เวลาประมวลผล 0.0272 วินาที
โปรแกรมโดย 9AuM | ออกแบบโดย styleshout