Browse Source

Advanced application template now uses mailer component instead of mail() function

tags/2.0.0-beta
Alexander Makarov 11 years ago
parent
commit
e3292c959a
  1. 1
      apps/advanced/common/config/params.php
  2. 0
      apps/advanced/common/mails/passwordResetToken.php
  3. 16
      apps/advanced/frontend/controllers/SiteController.php

1
apps/advanced/common/config/params.php

@ -15,6 +15,7 @@ return [
'components.mail' => [ 'components.mail' => [
'class' => 'yii\swiftmailer\Mailer', 'class' => 'yii\swiftmailer\Mailer',
'viewPath' => '@common/mails',
], ],
'components.db' => [ 'components.db' => [

0
apps/advanced/frontend/views/emails/passwordResetToken.php → apps/advanced/common/mails/passwordResetToken.php

16
apps/advanced/frontend/controllers/SiteController.php

@ -159,17 +159,11 @@ class SiteController extends Controller
$user->password_reset_token = Security::generateRandomKey(); $user->password_reset_token = Security::generateRandomKey();
if ($user->save(false)) { if ($user->save(false)) {
// todo: refactor it with mail component. pay attention to the arrangement of mail view files return \Yii::$app->mail->compose('passwordResetToken', ['user' => $user])
$fromEmail = \Yii::$app->params['supportEmail']; ->from([\Yii::$app->params['supportEmail'] => \Yii::$app->name . ' robot'])
$name = '=?UTF-8?B?' . base64_encode(\Yii::$app->name . ' robot') . '?='; ->to($email)
$subject = '=?UTF-8?B?' . base64_encode('Password reset for ' . \Yii::$app->name) . '?='; ->subject('Password reset for ' . \Yii::$app->name)
$body = $this->renderPartial('/emails/passwordResetToken', [ ->send();
'user' => $user,
]);
$headers = "From: $name <{$fromEmail}>\r\n" .
"MIME-Version: 1.0\r\n" .
"Content-type: text/plain; charset=UTF-8";
return mail($email, $subject, $body, $headers);
} }
return false; return false;

Loading…
Cancel
Save