| ก่อนอื่นทำความรู้จักร PHP Mail library สำหรับส่งเมล swiftmailer กันก่อนครับ สิ่งที่จะแนะนำในบทความนี้คือการใช้งาน swiftmailer ในฐานะของ extensions ของ Yii Framework ซึ่งนอกจาก swiftmailer แล้ว Extension ที่ช่วยในในการส่งเมล แทนฟังก์ชั่น mail ของ php แล้ว Yii Framework ยังมี extensions yii-dkim (ใช้ library PHP-DKIM) , mailer (ใช้ library PHPMailer) สำหรับในบทความนี้ผมเลือก swiftmailer เพราะเป็น extensions ที่ใช้งานงาน มีระบบ Log การ config ง่าย วิํธีคือ ให้ดาวน์โหลด Yii swiftmailer extensions จากที่ 1. https://code.google.com/p/yii-mail/ 2. unzip ไปไว้ที่ protected/extensions/ 3. ในไฟล์ config ของ yii Framework เพิ่ม 'application.extensions.yii-mail.*'ในส่วนของ autoloading model และ component classes จะได้ ตามตัวอย่าง // autoloading model and component classes 'import'=>array( 'application.models.*', 'application.components.*', 'application.extensions.yii-mail.*' ), และเพิ่ม 'mail' => array( 'class' => 'application.extensions.yii-mail.YiiMail', 'transportType'=>'smtp', /// case sensitive! 'transportOptions'=>array( 'host'=>'mail server', 'username'=>'ชื่อผู้ใช้', 'password'=>'รหัส, 'port'=>'25', // 'encryption'=>'ssl', ), 'viewPath' => 'application.views.mail', 'logging' => true, 'dryRun' => false ), ในส่วนของ components 4. ตัวอย่างโค้ดส่งเมลในส่วนของ Model $addto = 'E-mail ของผู้รับ'; $msg = 'ข้อความที่ต้องการส่ง'; $message = new YiiMailMessage; $message->subject = 'หัวข้อมูลที่ต้องส่ง'; $message->setBody($msg, 'text/html'); $message->addTo($addTo); $message->from = Yii::app()->params['adminEmail']; Yii::app()->mail->send($message); เท่านี้เราก็ส่งเมล ออกแทนการใช้ function mail() ของ php ได้แล้วครับ ถ้าต้องการ เอาข้อมูลจาก View มาเป็นข้อความในการส่งเมลก็ทำได้ไม่ยากครับ โดยเรา renderPartial มาใช้ได้เลย
|
เขียนโดย ส่งเมลด้วย php วันพุธที่ 16 พฤศจิกายน 2011 เวลา 02:57 น.
, phpBB3, SMF, Joomla, Wordpress, CMS CRM
, JavaScript & Jquery Ajax
, SQL - Database
, ถาม - ตอบ คอมพิวเตอร์
, PHP Knowledge
, PHP News
, HTML CSS
, Free PHP Code Download script
, Web Hosting Review - Free Host Share Host VPS