Mailer组件是yii框架自带的用于收发邮件的组件,无需安装,只需做一些配置即可使用,非常便捷。本文就mailer组件从配置到使用进行简单讲解。

    首先在config/main.php配置如下:

return [
'components' => [
'mailer' => [
'class' => 'yii\swiftmailer\Mailer',
'viewPath' => '@common/mail',
'useFileTransport' => false,
'transport' => [
'class' => 'Swift_SmtpTransport',
'host' => 'smtp.qq.com',//服务器根据不同邮箱类型而定,这里以qq邮箱为例
'username' => '250040091004@qq.com',//发送者邮箱地址
'password' => 'vwwujuntianwefwefa',//SMTP密码
'port' => '25',
'encryption' => 'tls'
]
]
]
];

这里要选择一个邮箱作为发送方,其中username设置发送方邮箱地址,可以在config/params.php文件中配置一个supportEmail参数指定为这个邮箱地址,

下面直接使用Yii::$app->params['supportEmail']来表示这个邮箱地址。password参数设置的是SMTP密码,可以在邮箱界面上查看,如果是qq邮箱的话,

依次点击“设置”-》“账户”,在“开启服务”中开启“IMAP/SMTP服务”就会弹出窗口告诉你SMTP密码,直接复制粘贴到配置文件中即可。

配置好之后就可以使用了,使用方法如下:

$mailer = Yii::$app->mailer->compose();
$mailer->setFrom(Yii::$app->params['supportEmail']);//发送者
$mailer->setTo('25040091004222@qq.com');//接收者
$mailer->setSubject('收到了吗');//邮件标题
$mailer->setHtmlBody('hello,wujuntian先生,请问您收到邮件了吗??');//邮件正文内容
$status = $mailer->send();//发送,成功则返回1

以上方法使用setHtmlBody()方法设置邮件正文内容,若邮件内容比较多,你也可以将邮件内容单独写成视图文件,然后在compose方法中指定作为

邮件内容的视图,使用方法如下:

Yii::$app->mailer->compose(
['html' => 'passwordResetToken-html', 'text' => 'passwordResetToken-text'],//指定视图
['****' => ****]//这里可以传一些视图需要的参数
)
->setFrom([Yii::$app->params['supportEmail'] => '个人管理系统'])
->setTo($this->email)
->setSubject(‘你好吗?’)
->send();

注意,在compose()方法中指定的视图文件'passwordResetToken-html’对应的是’config/mail/passwordResetToken-html.php’这个文件。

Yii2之mailer的使用的更多相关文章

  1. yii2 发送邮件 yii\swiftmailer\Mailer

    Yii2 中发送邮件 yii\swiftmailer\Mailer 'mailer' => [ 'class' => 'yii\swiftmailer\Mailer', 'viewPath ...

  2. Yii2的深入学习--事件Event

    我们先来看下事件在 Yii2 中的使用,如下内容摘自 Yii2中文文档 事件可以将自定义代码“注入”到现有代码中的特定执行点.附加自定义代码到某个事件,当这个事件被触发时,这些代码就会自动执行.例如, ...

  3. 我 && yii2(日志埋点,邮件提醒)

    今天试着把yii2 的日志,如果发送邮件的形式实现,具体实现如下 1.环境介绍 lnmp php5.6, mysql5.5, lnmp1.2 yii2-advanced 2.配置文件的编写 在fron ...

  4. yii2发送邮件教程

    作者:白狼 出处:http://www.manks.top/article/yii2_swiftMailer本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接, ...

  5. [moka同学笔记]YII2中发送邮件示例(转载)

    原文:http://yiilib.com/topic/675/Yii2%E4%B8%AD%E5%8F%91%E9%80%81%E9%82%AE%E4%BB%B6%E7%A4%BA%E4%BE%8B { ...

  6. Yii2.0 执行流程分析

    1 index.php 2 ---->引入 vendor/auto_load.php 3 auto_load.php 4 ---->引入 ventor/composer/autoload_ ...

  7. Yii2事件

    namespace app\components; use yii\base\Component; use yii\base\Event; class MessageEvent extends Eve ...

  8. PHP框架Yii2.0安装(基础版、高级版)

    最近农成也是切入了yiiframework 2.0,就是安装yii2.0就花费了不少的时间,为此做了很多的弯路,特此写一篇博文来给后面学习的同学少走一点的弯路.写的不好的地方欢迎各位学习的同学们能够指 ...

  9. Yii2.0 依赖注入(DI)和依赖注入容器的原理

    依赖注入和依赖注入容器 为了降低代码耦合程度,提高项目的可维护性,Yii采用多许多当下最流行又相对成熟的设计模式,包括了依赖注入(Denpdency Injection, DI)和服务定位器(Serv ...

随机推荐

  1. Shiro第六篇【验证码、记住我】

    验证码 在登陆的时候,我们一般都设置有验证码,但是我们如果使用Shiro的话,那么Shiro默认的是使用FormAuthenticationFilter进行表单认证. 而我们的验证校验的功能应该加在F ...

  2. XML(二)之DTD——XML文件约束

    前面介绍了XML的作用和基本的格式,今天我给大家分享的是关于XML的约束.废话不多说,我们直接来正题! 一.DTD简介 1.1.DTD概述 DTD(Document Type Definition,文 ...

  3. AngularJS - 依赖注入(Dependency Injection)

    点击查看AngularJS系列目录 转载请注明出处:http://www.cnblogs.com/leosx/ 依赖注入 依赖注入是软件设计模式中的一部分,用于处理组件是如何得到它说依赖的其它组件的. ...

  4. asp.net core合并压缩资源文件引发的学习之旅

    0. 在asp.net core中使用BuildBundlerMinifier合并压缩资源文件 在asp.net mvc中可以使用Bundle来压缩合并css,js 不知道的见:http://www. ...

  5. 安装myeclipse2015 stable 3.0破解之后发生出现SECURITY ALERT:iNTEGRITY CHECK ERROR然后闪退解决方案

    安装好myeclipse2015 stable以后也一步步按着破解文件的步骤来进行.打开myEclipse---->Subscription information--->Subscrip ...

  6. H5上传图片并使用canvas制作海报

    马上就要"十一"国庆节了,又恰逢公司已经三周岁了,所以市场部和产品共同策划了一个"正青春,共成长"的主题代言活动,准备在国庆节以及中秋节期间让公司员工和用户为公 ...

  7. apache 安装/mod_dir.so: undefined symbol: apr_array_clear

    apache 安装好后 启动出错: httpd: Syntax error on line 143 of /usr/local/apache2/conf/httpd.conf: Cannot load ...

  8. zoj1871steps 数学 水

                                                                                            zoj1871 题目大意 ...

  9. 让EditPlus支持SQL高亮提示

    将文件放在一个确定的位置,不要放在桌面这些临时位置.然后在 EditPlus 的菜单栏选择 工具(T) -> 配置用户工具(C) 选择左边"类别"中的 文件 -> 设置 ...

  10. WebApi实现自定义错误日志

    一.Mvc错误处理默认有添加HandleErrorAttribute默认的过滤器,但是我们有可能要捕捉这个错误并记录系统日志那么这个过滤器就不够用了,所以我们要自定义Mvc及Web Api各自的错误处 ...