yii2 邮件发送
yii2 2017-06-14 09:58:38

1.在配置文件main-local.php components=>[]里面配置

PHP Code复制内容到剪贴板
  1. 'mailer' => [    
  2.    'class' => 'yii\swiftmailer\Mailer',    
  3.     'useFileTransport' =>false,//这句一定有,false发送邮件,true只是生成邮件在runtime文件夹下,不发邮件  
  4.    'transport' => [    
  5.        'class' => 'Swift_SmtpTransport',    
  6.        'host' => 'smtp.163.com',  //每种邮箱的host配置不一样  
  7.        'username' => '15618380000@163.com',    
  8.        'password' => '*******',    
  9.        'port' => '25',    
  10.        'encryption' => 'tls',    
  11.                              
  12.                    ],     
  13.    'messageConfig'=>[    
  14.        'charset'=>'UTF-8',    
  15.        'from'=>['15618380000@163.com'=>'admin']    
  16.        ],    
  17. ],    

 

1、controller控制器中 代码:

PHP Code复制内容到剪贴板
  1. <?php  
  2. $mail= Yii::$app->mailer->compose();     
  3. $mail->setTo('***********@qq.com');    
  4. $mail->setSubject("邮件测试");    
  5. //$mail->setTextBody('zheshisha ');   //发布纯文字文本  
  6. $mail->setHtmlBody("<br>问我我我我我");    //发布可以带html标签的文本  
  7. if($mail->send())    
  8.     echo "success";    
  9. else    
  10.     echo "failse";     
  11. die();   
  12. ?>  

 

ok,这样就可以发送邮件了

如需加载模板 把$mail= Yii::$app->mailer->compose();
修改成 $mail= Yii::$app->mailer->compose('xiaoma',['aa'=>222]);
注:aa是想xiaoma.php里面传递的参数。

 

邮件模板 xiaoma.php里面的代码 :

PHP Code复制内容到剪贴板
  1. <?php    
  2. use yii\helpers\Html;    
  3.     
  4. /* @var $this yii\web\View */    
  5. /* @var $user common\models\User */    
  6.     
  7. $resetLink = Yii::$app->urlManager->createAbsoluteUrl(['site/reset-password''token' => $aa]);    
  8. ?>    
  9.     
  10.     
  11. < a href="#" ><?php echo $resetLink ?></a>    

 

加载模板的邮件代码:

PHP Code复制内容到剪贴板
  1. $mail= Yii::$app->mailer->compose('xiaoma',['aa'=>222]);    
  2.        $mail->setTo('1401619705@qq.com');    
  3.        $mail->setSubject("邮件测试");    
  4.        $mail->setTextBody('zheshisha ');    
  5.        if($mail->send())    
  6.            echo "success";    
  7.        else    
  8.            echo "failse";     
  9.      die();    

 

 

 

 

本文来自于:http://www.yoyo88.cn/study/yii2/113.html

Powered by yoyo苏ICP备15045725号