Yii实现邮件发送

本文介绍了如何在Yii2框架中使用yiisoft/yii2-swiftmailer扩展来实现邮件发送功能,包括Composer安装、QQ邮箱IMAP/SMTP设置以及邮件发送的基础配置和实例。
摘要由CSDN通过智能技术生成

一:yiisoft/yii2-swiftmailer拓展安装

composer require yiisoft/yii2-swiftmailer

github地址:https://github.com/yiisoft/yii2-swiftmailer

文档地址:https://www.yiichina.com/doc/guide/2.0/tutorial-mailing

二:开启邮箱IMAP/STMP服务

这里以QQ邮箱为例:

1:账号设置

登录QQ邮箱后点击首页的设置按钮

进入账户设置

2:开启IMAP/SMTP服务

开启IMAP/SMTP服务

记录开启服务器的授权码

QQ邮件开启服务后相关说明

三:邮件发送功能实现

1:邮件发送基础配置

在配置文件main.php 中的components参数下配置:

'mailer' => [
    'class' => 'yii\swiftmailer\Mailer',
    'useFileTransport' => false,//false发送邮件,true只是在runtime文件夹下生成邮件文件,不发邮件
],

2:邮件发送常见方法

(1):发送邮件服务器配置
Yii::$app->mailer->transport = [
    'class' => 'Swift_SmtpTransport',
    'host' => 'smtp.qq.com',//发送邮件host,每种邮箱的host配置不一样
    'username' => 'xxx',//发送邮件账号
    'password' => 'XXX',//发送邮件授权码
    'port' => '465',//发送邮件端口 
    'encryption' => 'ssl',//加密方式
];
(2):设置发件人
Yii::$app->mailer->compose()->setFrom('XXX');
(3):设置收件人
Yii::$app->mailer->compose()->setTo('XXX');
(4):设置邮件主题
Yii::$app->mailer->compose()->setSubject('XXX');
(5):设置发送邮件内容

纯文本内容

Yii::$app->mailer->compose()->setTextBody('XXX');

html内容

Yii::$app->mailer->compose()->setHtmlBody('<div>XXX</div>');
(6):设置发送附件
Yii::$app->mailer->compose()->attach('XXX.pdf');
(7):邮件发送
Yii::$app->mailer->compose()->send();

3:邮件发送实例

Yii::$app->mailer->transport = [
    'class' => 'Swift_SmtpTransport',
    'host' => 'smtp.qq.com',//发送邮件host,每种邮箱的host配置不一样
    'username' => 'xxx',//发送邮件账号
    'password' => 'XXX',//发送邮件授权码
    'port' => '465',//发送邮件端口 
    'encryption' => 'ssl',//加密方式
];

try {
    $result = Yii::$app->mailer->compose()
        ->setFrom('XXX')//设置发件人
        ->setTo('XXX')//设置收件人
        ->setSubject('XXX')//设置主题
        ->setHtmlBody('<div>XXX</div>')//设置邮件内容
        ->attach('XXX.pdf')//设置邮件附件
        ->send();
} catch (\Swift_TransportException $e) {
    $result = false;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

huaweichenai

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值