Scriptdd.com

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

เขียน 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 (70,380) Comments (21) 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 = "[email protected]";
$mail -> FromName = "Foo";
$mail -> AddAddress ("[email protected]");
$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 = '[email protected]';
$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

ยังไม่ได้ลอง แต่ขอเสริมอีกคน

รูปคุณ หน่วยเสริม โดยคุณ หน่วยเสริม 2008-11-12 10:31:37

work ครับ ใช้ได้ดี ไม่ต้อง แก้ code แล้วไช้ได้เลย ผมใช้ version 2.3

รูปคุณ slax โดยคุณ slax 2008-11-21 13:05:14

ใน PHP ผมใช้ function mail() แล้ว มัน error เหมือนมันส่งเมลล์ไม่ได้

ผมต้องทำยังไงก่อนหรือป่าวครับ ถึงจะสามารถส่งเมลล์ด้วย mail() ได้

ผู้รู้ท่านไหนช่วยสอนผมหน่อยเหอะครับ

รูปคุณ noom โดยคุณ noom 2008-11-25 19:36:17

อืม เปิดใช้งาน Open SSL แล้วใช้งานได้เลย

รูปคุณ ชิน โดยคุณ ชิน 2009-02-13 18:06:20

ขอบคุณมากๆๆครับ ผมทำได้แล้ว ดีมากๆเลยครับ

รูปคุณ ชัย โดยคุณ ชัย 2009-03-10 16:11:16

ผมลองทำตาม แบบ การใช้ โดย gmail ได้บนแล้วครับ แต่มันเป็น Warning: fsockopen() has been disabled for security reasons Message was not sent.Mailer error: SMTP Error: Could not connect to SMTP host. ไม่ทราบว่า เป็น เพราะ server ที่ให้บริการ หรือเปล่า คับ แล้วมีวิธีที่ทำให้เครื่องตัวเองเป็น server ได้ไหม ครับ ช่วยแนะนำด้วยครับ ขอบคุณมากครับ

รูปคุณ top โดยคุณ top 2009-03-24 15:56:13

ก็......................................................D

รูปคุณ เจ้าแม่บัวไร โดยคุณ เจ้าแม่บัวไร 2009-08-12 14:57:08

อยากจะทราบว่า ใช้วิธีเดียวกันนี้กับ Windows Live Custom Domain ได้หรือเปล่าอะครับ ??

รูปคุณ เชน โดยคุณ เชน 2010-01-26 02:15:19

ไม่สามารถประมวลผล ไฟล์ที่มีcode php ได้

รูปคุณ khing โดยคุณ khing 2011-06-14 11:16:04

Could not execute: /var/qmail/bin/sendmail

เกิดจากอะไรเหรอครับ ... ผมลองใช้ใน localhost แล้วมันเป็นอย่างนี้

รูปคุณ nares.programmer โดยคุณ nares.programmer 2012-03-13 09:49:49

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



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

เข้าระบบ


จำไว้ด้วยนะจ้ะ

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

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

Gallery

Tags

Diary BarCampBangkok Linux Honda Ajax SMS How to Windows Lenovo Hardware Tool JavaScript Airnet barcampbangkok2 Mobile Instant Messenger DOM FTR ล้อหมอบ Home Decorate Shopping เฟรมเสือหมอบ Tablet Game Yahoo จักรยาน Yamaha Mozilla Perl ASP

อื่นๆ ...

เพื่อนบ้าน

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

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

TwitterCounter for @9aum

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