Yii2高级框架发送邮件

来源:互联网 发布:在线网络理财产品好么 编辑:程序博客网 时间:2024/06/15 13:44

首先,我们需要打开框架中\common\config\main-local.php。
写入一下代码:
<?phpreturn [    'components' => [        'db' => [            'class' => 'yii\db\Connection',            'dsn' => 'mysql:host=localhost;dbname=****',            'username' => '****',            'password' => '****',            'charset' => 'utf8',        ],        'mailer' => [            'class' => 'yii\swiftmailer\Mailer',            'useFileTransport' => false,                //这里需要特别注意    原代码是:'useFileTransport' => true,   把 true 改为 false 即可。            'transport' => [                'class' => 'Swift_SmtpTransport',                'host' => 'smtp.163.com',               //邮箱    qq邮箱是smtp.qq.com                'username' => '*******@163.com',        //发件人邮箱                'password' => '*******',                //密码    此处是授权密码                'port' => '25',                         //端口号,163 是 25    QQ 是 465                'encryption' => 'tls',                  //这里如果使用的是QQ发送就是:ssl  使用163发送就改为:tls            ],            'messageConfig'=>[                'charset'=>'UTF-8',                     //字符集                'from'=>['******@163.com'=>'*******']   //发件人名称,随便写            ],        ],

下面是控制器内的代码:
<?phpnamespace backend\controllers;use Yii;use yii\web\Controller;class MailController extends Controller{    public function actionSend()    {        $mail= Yii::$app->mailer->compose();        $mail->setTo('1290485816@qq.com'); //接收人的邮箱        $mail->setSubject("***");   //邮件主题        $mail->setTextBody('****');    //发布纯文本信息        $mail->setHtmlBody("****");    //发送的可以使Html页面        var_dump($mail->send());   //打印的结果是true或false,有可能报错,报错的原因是网络不畅通    }}