PHPMAIL是一个比较成熟的PHP发送邮件类,在日常生活中会经常有要给用户发送激活信息、邮箱修改密码、定期发送网站活动等等信息,这个时候就需要配置一个邮件发送功能,下面就在YII中整合PHPMAIL发送邮件类进行实例编码。
首先去YII扩展类中心下载适合于YII的PHPMAIL扩展包,解压后将文件夹全部放置如下目录:
放置完成后,需要在Controller.php基类中进行引用,具体的实现代码如下:
编写好该段代码后,需要配置邮件的配置信息,从上面的代码可以看出,此处作者将配置文件写到main.php配置文件中的params下面,具体的配置信息如下:/** * @import PHPMAIL * @todo send email * @param $email email to * @param $nickname web user nickname or realname * @param $subject email title * @param $body email content * @return boole true/false */ public function sendMail($email,$nickname,$subject,$body){ Yii::import('application.extensions.phpmailer.JPhpMailer'); $mail = new JPhpMailer; $mail -> IsSMTP(); $mail -> Host = Yii::app() -> params['mail']['host']; $mail -> SMTPAuth = true; $mail -> Username = Yii::app() -> params['mail']['username']; $mail -> Password = Yii::app() -> params['mail']['password']; $mail -> SetFrom( $email, $nickname); $mail -> Subject = $subject; $mail -> AltBody = $body; $mail -> MsgHTML( $body ); $mail -> AddAddress( Yii::app() -> params['adminEmail'], 'GGBOUND'); return $mail -> Send(); }
到此整合PHPMAIL邮件类发送邮件的方法基本完成。'params'=>array( // this is used in contact page 'adminEmail'=>'*****@qq.com', //mail config default open STMP 'mail'=>array( 'host' => 'smtp.exmail.qq.com', 'username' => '*****@qq.com', 'password' => '****', ), ),