温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何利用yii 2框架发送电子邮件

发布时间:2021-03-01 10:37:59 来源:亿速云 阅读:215 作者:小新 栏目:编程语言

小编给大家分享一下如何利用yii 2框架发送电子邮件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

利用yii 2框架发送电子邮件,具体步骤如下所示:

1、config/web.php中开启邮箱配置

'mailer' => [
	'class' => 'yii\swiftmailer\Mailer',
    // send all mails to a file by default. You have to set
    // 'useFileTransport' to false and configure a transport
    // for the mailer to send real emails.
    'useFileTransport' => false,//true表示只生成文件不发
    'transport' => [
    	'class' => 'Swift_SmtpTransport',
        'host' => 'smtp.qq.com',  //每种邮箱的host配置不一样
        'username' => 'xxxxx@qq.com',//改成自己的邮箱
        'password' => 'xxxxxxxx',//改成自己的邮箱token
        'port' => '465',
        'encryption' => 'ssl',
	],
    'messageConfig'=>[
    	'charset'=>'UTF-8',
        'from'=>['xxxxx@qq.com'=>'YiiAdmin']//邮件显示名称
	],
],

2、SiteController.php控制器文件添加

public function actionSendMail(){
	$mail= Yii::$app->mailer->compose('reset-password',['token'=>'xxxxxx']);
	// 渲染一个视图作为邮件模板 文件路径mail/reset-password.php,注意,不在view中
	$mail->setTo('xxxxx@hotmail.com');//要发送到的邮箱地址
	$mail->setSubject("邮件测试【重置密码】");//邮件标题
	if($mail->send())
		echo "success";
	else
		echo "failse";
	die();
}

3、视图文件

视图文件的输出就是邮件的内容

<?php
$resetLink = Yii::$app->urlManager->createAbsoluteUrl(['site/reset-password', 'token' => $token]);
?>
<div>
	<h6>密码重置服务</h6>
	<a href="<?=$resetLink?>">点击重置密码</a>
</div>

4、访问 http://127.0.0.1/base/web/index.php?r=site/send-mail

出现 success则发送成功,若未收到确认邮箱已开启pop3服务

如何利用yii 2框架发送电子邮件

以上是“如何利用yii 2框架发送电子邮件”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI