PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

yii2如何实现使用qq邮箱发送文件

王林
王林 转载
2021-01-25 10:18:54 3241浏览

具体方法如下所示:

(学习视频分享:编程入门

1、首先在qq邮箱的设置中开启POP3/SMTP服务

a0e9341e4f418e3c37ad03777244395.png

保存下授权码

在Yii2配置文件中(common/config/main.php中components)添加邮箱组件

'mailer' => [
            'class' => 'yii\swiftmailer\Mailer',
            'viewPath' => '@common/mail',
            // 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,
            'transport' => [
                //这里如果你是qq的邮箱,可以参考qq客户端设置后再进行配置 http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256
                'class' => 'Swift_SmtpTransport',
                'host' => 'smtp.qq.com',
                // qq邮箱
                'username' => '114***6@qq.com',
                //授权码, 什么是授权码, http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256
                'password' => '***', 
                'port' => '465',
                'encryption' => 'ssl',
             ],
            'messageConfig'=>[
                'charset'=>'UTF-8',
                'from'=>['114***@qq.com'=>'developer']
            ],
        ],

调用邮箱接口发送邮件

public function actionSendmail()
    {
        $mail = \YII::$app->mailer->compose();
        $mail->setTo("***@qq.com");
        $mail->setSubject("邮件测试");
        $mail->setTextBody("textbody 25 ok?");//发布纯文字文本
        //$mail->setHtmlBody("htmlbody");//发布可以带html标签的文本
        if($mail->send()){
            echo "success";
        }else{
            echo "failure";
        }
    }

相关推荐:yii框架

声明:本文转载于:csdn,如有侵犯,请联系admin@php.cn删除