Yii2之mailer的使用
Mailer组件是yii框架自带的用于收发邮件的组件,无需安装,只需做一些配置即可使用,非常便捷。本文就mailer组件从配置到使用进行简单讲解。
首先在config/main.php配置如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | 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密码,直接复制粘贴到配置文件中即可。
配置好之后就可以使用了,使用方法如下:
1 2 3 4 5 6 | $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方法中指定作为
邮件内容的视图,使用方法如下:
1 2 3 4 5 6 7 8 | 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’这个文件。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
2016-08-15 MySQL命令行基本操作