Gostaria de saber como faz para alterar senha de um usuario logado… e como alterar senha atraves de envio de senha no email cadastrado… Obrigado
Gostaria de saber como faz para alterar senha de um usuario logado… e como alterar senha atraves de envio de senha no email cadastrado… Obrigado
nickezaro,
Para alterar a senha do usuário, somente cria um formulário com o Model da tabela que está o usuário e senha do usuário logado, mais não permitindo ele alterar o usuário somente a senha, ai você faz um update na senha, mais usa o Yii::app()->user->getId() para fazer a consulta do usuário logado.
E quando for enviar a senha nova para o usuário, faz a mesma coisa, pedi para ele digitar o usuário ou email (caso não esteja logado), você faz a consulta com o usuário/email verifica se o usuário/email existe e altera a senha, atualiza a nova senha no banco de dados e envia um email para ele com a nova senha.
Eu particularmente eu crio um base64_encode(time()), mais você pode usar outras combinações de senha.
alguma dica de extensao que faça o envio do email com a nova senha?
Obrigado
nickezaro,
Pode usar qualquer extensão que envia email, por que o corpo do email e você que vai formatar, se vai ou não ter tabelas ou imagens.
Eu uso essa:
http://www.yiiframework.com/extension/mailer
Tem um modelo na extensão de como deve fazer para enviar o e-mail.
Deixei igual ao exemplo, ele ta executando a funcao, trocando a senha, mas nao recebe o e-mail nunca
tem como vc postar um exemplo de como voce envia e-mail? valeu
Podes tentar assim:
main.php
'components' => array(
'mailer' => array(
'class' => 'application.extensions.mailer.EMailer',
'pathViews' => 'application.views.email',
'pathLayouts' => 'application.views.email.layouts'
), ),
controller.php
$message = $text;
$mailer = Yii::createComponent('application.extensions.mailer.EMailer');
Yii::app()->mailer->IsSMTP();
Yii::app()->mailer->IsHTML(true);
Yii::app()->mailer->SMTPDebug = true;
Yii::app()->mailer->Mailer = 'smtps';
Yii::app()->mailer->SMTPAuth = true;
Yii::app()->mailer->SMTPSecure = 'ssl';
Yii::app()->mailer->Host = "smtp.gmail.com";
Yii::app()->mailer->Port = 465;
Yii::app()->mailer->From = 'email@gmail.com';
Yii::app()->mailer->FromName = 'EMAIL';
Yii::app()->mailer->AddAddress($model->emailresponsavel);
Yii::app()->mailer->ContentType = "text/html";
Yii::app()->mailer->CharSet = 'UTF-8';
Yii::app()->mailer->Subject = 'Teste ' ;
Yii::app()->mailer->Body = $message;
Yii::app()->mailer->Username = "usuario@gmail.com";
Yii::app()->mailer->Password = "senha";
Yii::app()->mailer->Send();