Yii2发送邮件功能

1.在配置文件main-local.php components=>[]里面配置(以QQ邮箱为例)

'mailer' => [  
   'class' => 'yii\swiftmailer\Mailer',  
    'useFileTransport' =>false,//这句一定有,false发送邮件,true只是生成邮件在runtime文件夹下,不发邮件
   'transport' => [  
       'class' => 'Swift_SmtpTransport',  
       'host' => 'smtp.exmail.qq.com',  //每种邮箱的host配置不一样
       'username' => '15618380091@163.com',  
       'password' => '*******',  
       'port' => '465',  
       'encryption' => 'ssl',  
                           
                   ],   
   'messageConfig'=>[  
       'charset'=>'UTF-8',  
       'from'=>['15618380091@163.com'=>'admin']  
       ],  
],  
  1. controller控制器中 代码:
<?php
$mail= Yii::$app->mailer->compose();   
$mail->setTo('***********@qq.com');  
$mail->setSubject("邮件测试");  
//$mail->setTextBody('zheshisha ');   //发布纯文字文本
$mail->setHtmlBody("<br>问我我我我我");    //发布可以带html标签的文本
if($mail->send())  
    echo "success";  
else  
    echo "failse";   
die(); 
?>

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个简单的登录功能的实现。 首先,你需要创建一个控制器(Controller)来处理登录操作。在控制器里,你需要定义两个动作(Action),一个用于显示登录表单,一个用于提交登录表单并验证用户身份。 ```php <?php namespace app\controllers; use Yii; use yii\web\Controller; use app\models\User; use app\models\LoginForm; class SiteController extends Controller { public function actionLogin() { $model = new LoginForm(); if ($model->load(Yii::$app->request->post()) && $model->login()) { return $this->goBack(); } else { return $this->render('login', [ 'model' => $model, ]); } } public function actionLogout() { Yii::$app->user->logout(); return $this->goHome(); } } ``` 在上面的代码中,`actionLogin()` 方法用于显示登录表单和处理提交表单的逻辑,`actionLogout()` 方法用于注销当前用户。 接下来,你需要创建一个模型(Model)来表示用户信息和处理用户登录。 ```php <?php namespace app\models; use Yii; use yii\base\Model; class LoginForm extends Model { public $username; public $password; public $rememberMe = true; private $_user = false; public function rules() { return [ // username and password are both required [['username', 'password'], 'required'], // rememberMe must be a boolean value ['rememberMe', 'boolean'], // password is validated by validatePassword() ['password', 'validatePassword'], ]; } public function attributeLabels() { return [ 'username' => '用户名', 'password' => '密码', 'rememberMe' => '记住我', ]; } public function login() { if ($this->validate()) { return Yii::$app->user->login($this->getUser(), $this->rememberMe ? 3600*24*30 : 0); } else { return false; } } public function getUser() { if ($this->_user === false) { $this->_user = User::findByUsername($this->username); } return $this->_user; } public function validatePassword($attribute, $params) { if (!$this->hasErrors()) { $user = $this->getUser(); if (!$user || !$user->validatePassword($this->password)) { $this->addError($attribute, '用户名或密码错误'); } } } } ``` 在上面的代码中,`LoginForm` 模型包含了用户登录所需的相关信息,包括用户名、密码和记住我选项。`rules()` 方法定义了表单数据的验证规则,`login()` 方法用于验证用户身份并实现登录逻辑,`getUser()` 方法用于获取用户信息,`validatePassword()` 方法用于验证用户密码是否正确。 最后,你需要创建一个视图(View)来显示登录表单。在视图里,你需要使用 Yii2 的 ActiveForm 组件来生成表单元素,并且使用 Yii2 提供的 $model 变量来绑定模型和表单元素。 ```php <?php use yii\helpers\Html; use yii\bootstrap\ActiveForm; $this->title = '登录'; ?> <div class="site-login"> <h1><?= Html::encode($this->title) ?></h1> <p>请填写以下信息登录:</p> <?php $form = ActiveForm::begin([ 'id' => 'login-form', 'layout' => 'horizontal', 'fieldConfig' => [ 'template' => "{label}\n<div class=\"col-sm-3\">{input}</div>\n<div class=\"col-sm-8\">{error}</div>", 'labelOptions' => ['class' => 'col-sm-1 control-label'], ], ]); ?> <?= $form->field($model, 'username')->textInput(['autofocus' => true]) ?> <?= $form->field($model, 'password')->passwordInput() ?> <?= $form->field($model, 'rememberMe')->checkbox([ 'template' => "<div class=\"col-sm-offset-1 col-sm-3\">{input} {label}</div>\n<div class=\"col-sm-8\">{error}</div>", ]) ?> <div class="form-group"> <div class="col-sm-offset-1 col-sm-11"> <?= Html::submitButton('登录', ['class' => 'btn btn-primary', 'name' => 'login-button']) ?> </div> </div> <?php ActiveForm::end(); ?> </div> ``` 在上面的代码中,使用了 Yii2 的 ActiveForm 组件来生成表单元素,并且使用了 Bootstrap 的样式。`$model` 变量用于绑定模型和表单元素。 这就是一个简单的登录功能的实现了。当用户填写登录表单并提交后,控制器会调用模型来验证用户身份,如果验证通过,则用户登录成功,否则会显示错误信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值