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’这个文件。

 

 

 

 

 

posted @   疯一样的狼人  阅读(714)  评论(0编辑  收藏  举报
编辑推荐:
· 从 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命令行基本操作
点击右上角即可分享
微信分享提示