yii2 发送邮箱 1.在qq邮箱中 设置--账户--POP3/SMTP服务 把它开启,需要发送短信,会给你一个验证码,这个验证码就是密码 2.在main-local.php的components中添加一下代码 'mailer' => [ 'class' => 'yiiswiftmailerMailer', 'useFileTransport' =>false,//这句一定有,false发送邮件,true只是生成邮件在runtime文件夹下,不发邮件 //'viewPath' => '@common/mail', 'transport' => [ 'class' => 'Swift_SmtpTransport', //'host' => 'smtp.163.com', //每种邮箱的host配置不一样 'host' => 'smtp.qq.com', //每种邮箱的host配置不一样 'username' => '*******@qq.com', //发件人的邮箱 'password' => '******', //这是发送短信生成的验证码 'port' => '465', 'encryption' => 'ssl', ], 'messageConfig'=>[ 'charset'=>'UTF-8', 'from'=>['*********@qq.com'=>'admin'] ], ], 3.控制中新建一个方法 代码 //邮箱 public function actionEmail(){ $mail= Yii::$app->mailer->compose(); $mail->setTo('1*******4@qq.com'); // //11******71 $mail->setSubject("邮件测试"); //$lock = new Security(); //$str = $lock->encryptByKey('abcd','123'); //echo $str; //$str = base64_encode($str);//发送base64 加密的数据 $mail->setTextBody('xixi'.'秘钥是123'); //发布纯文字文本 //$mail->setHtmlBody("<br>问我我我我我"); //发布可以带html标签的文本 if($mail->send()) echo "success"; else echo "failse"; die(); //邮箱发送ok } 4,在邮箱中会收到加密后的字符串 在新的方法中添加 $str = 接收的字符串; $str = base64_decode($str); //echo $str; $str = $lock->decryptByKey($str,'123');//123相当于秘钥 echo $str;