发送邮箱

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;



原文地址:https://www.cnblogs.com/jhy-ocean/p/5364898.html