中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Yii2.0中Mailer收發郵件詳解

發布時間:2020-02-27 20:47:43 來源:網絡 閱讀:523 作者:daydaydream 欄目:web開發

Yii2.0封裝的類足夠強大,Mailer的使用方法做一個總結:
1、先在main-local.php中做好配置:

return [
//....
'components' => [
'mailer' => [
'class' => 'yii\swiftmailer\Mailer',
],
],
];

詳細如下:

return [
//....
'components' => [
'viewPath' => '@common/mail',
'useFileTransport' =>false,//這句一定有,false發送郵件,true只是生成郵件在runtime文件夾下,不發郵件
'transport' => [
'class' =>'Swift_SmtpTransport', //使用的類
'host' => 'smtp.sina.com', //郵箱服務一地址這里用的sina郵件服務器
'username' => 'wwwww@sina.com',//郵箱地址,發送的郵箱
'password' => '***', //自己填寫郵箱密碼
'port' => '465', //服務器端口
'encryption' => 'ssl', //加密方式
],
'messageConfig'=>[
'charset'=>'UTF-8', //編碼
'from'=>['wwwww@sina.com'=>'管理員'] //郵件里面顯示的郵件地址和名稱
],
],
];

2、在應用中的對應的方法中使用:

Yii::$app->mailer->compose()->setFrom('from@domain.com')->setTo('to@domain.com')->setSubject('Message subject')->setTextBody('Plain text content')->setHtmlBody('HTML content')->send();

3、關于在上面的例子中所述的 compose() 方法創建了電子郵件消息,這是填充和發送的一個實例,發送內容在setTextBody中傳輸。 如果需要的話在這個過程中你可以用上更復雜的邏輯:

$message = Yii::$app->mailer->compose();
if (Yii::$app->user->isGuest) {$message->setFrom('from@domain.com')
} else { $message->setFrom(Yii::$app->user->identity->email)}
$message->setTo(Yii::$app->params['adminEmail'])
->setSubject('Message subject')
->setTextBody('Plain text content')
->send();

4、郵件發出去的內容,除了通過setTextBody中傳輸。在Yii 允許通過特殊的視圖文件來撰寫實際的郵件內容。默認情況下, 這些文件應該位于 “@app/mail” 路徑的文件中,代碼如下:
passwordResetToken-html.php

<?php
use yii\helpers\Html;

/ @var $this yii\web\View /
/ @var $user common\models\User /

$resetLink = Yii::$app->urlManager->createAbsoluteUrl(['site/reset-password', 'token' => $user->password_reset_token]);
?>
<div class="password-reset">
<p>Hello <?= Html::encode($user->username) ?>,</p><p>Follow the link below to reset your password:</p><p><?= Html::a(Html::encode($resetLink), $resetLink) ?></p>
</div>

調用的時候代碼如下(html指向上述目錄中的對應html視圖文件):

Yii::$app
->mailer
->compose(
['html' => 'passwordResetToken-html', 'text' => 'passwordResetToken-text'],
['user' => $user]
)
->setFrom([Yii::$app->params['supportEmail'] => Yii::$app->name . '管理員'])
->setTo($this->email)
->setSubject('密碼重置' . Yii::$app->name)
->send();

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

汝阳县| 西乌| 秦皇岛市| 南丰县| 麻栗坡县| 泸水县| 鹤壁市| 怀宁县| 迭部县| 来宾市| 汽车| 建昌县| 繁昌县| 南充市| 新沂市| 威远县| 呼伦贝尔市| 调兵山市| 菏泽市| 马山县| 从化市| 枝江市| 兖州市| 武隆县| 双桥区| 乐清市| 新疆| 湖北省| 桐城市| 遵化市| 瓮安县| 固镇县| 嵩明县| 乌兰察布市| 嘉善县| 鹤庆县| 敖汉旗| 延津县| 南郑县| 泽州县| 巢湖市|