在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
EMailer是一个简单的封装PHPMailer类。利用这个扩展可以实现发邮件的功能。 下载地址:http://www.yiiframework.com/extension/mailer/ 下载解压把mailer文件夹放到protected\extensions下 在config\main.php文件中加入以下几条语句,应用到系统当中: 1 'import'=>array( 2 'application.models.*', 3 'application.components.*', 4 'application.extensions.*',//多加这一句引用 5 ), 'components'中加入: 1 'mailer'=>array( 2 'class'=>'application.extensions.mailer.EMailer', 3 'path Views'=>'application.views.email', 4 'pathLayouts'=>'application.views.email.layouts', 5 ), 然后我们就能很容易的使用发邮件的功能了: 1 public static function sendEmails() 2 { $mail=Yii::createComponent('application.extensions.mailer.EMailer'); 3 $contents=Dailyreport::getReports(); 4 $message=Dailyreport::getReports(); 5 $mail->IsSMTP(); 6 $mail->Host='smtp.163.com'; 7 $mail->Port=25; 8 $mail->SMTPAuth=true; 9 //$mail->SMTPSecure = 'ssl'; 10 $mail->SMTPDebug=true; 11 $mail->Username='***@163.com'; 12 $mail->Password="******"; 13 $mail->From='***@163.com'; 14 $mail->FromName='回声'; 15 $mail->AddReplyTo('***@163.com'); 16 $models=User::model()->findAll(); 17 foreach($models as $model) 18 { 19 if($model->receive_email==1) 20 $mail->AddAddress($model->email); 21 } 22 $mail->CharSet='UTF-8'; 23 $mail->Subject='日报'; 24 $mail->Body=$message; 25 $mail->IsHTML(true); 26 if($message!=null && $mail->Send()) 27 { 28 echo "发送成功"; 29 return true; 30 } 31 else return false; 32 } 代码很简单明了,我们可以在一个页面中调用该方法,加载页面就可以实现发邮件的功能了。 但是,经常会遇到不能连接到邮箱服务的问题,我查了很多资料,基本上是下面的原因: 把extensions\mailer\phpmailer\class.phpmailer.php文件中的小写'smtp'改成大写: public function IsSMTP() { $this->Mailer = 'SMTP';//第一处 } 把php.ini文件中的: 我写了一个简单的view视图文件: 1 <div class="span-19"> 2 <div > 3 <?php echo '开启定时服务'; ?> 4 </div><!-- content --> 5 </div> 6 <?php 7 DailyreportController::sendEmails(); 8 ?> 只要打开该页面就实现了发邮件的功能: 暂时写到这里,自动发邮件功能怎么实现呢,下节再讲。 |
2022-08-30
2022-08-17
2022-11-06
2022-08-14
2022-08-18
请发表评论