:

Yii2 发送邮件

song100e 发布于:2020-9-24 13:47 分类:Yii2  有 30 人浏览,获得评论 0 条 标签: swiftmailer 

    1,Yii2.0会自带的 swiftmailer,所以不用安装,只需配置下就可以。

    2,获取 SMTP 密码, 这里以网易 163 为例。

    点击查看原图

    3,在 components 中进行如下配置,注意其中的 SMTP 密码。

    

'components' => [
	//邮箱发送配置
	'mailer' => [ 
        'class' => 'yii\swiftmailer\Mailer', 
        'viewPath' => '@common/mail', 
        'useFileTransport' => false, #一定填false
        'transport' => [ 
            'class' => 'Swift_SmtpTransport', 
            'host' => 'smtp.qq.com', 
            'username' => 'mail_from@163.com',//发送者邮箱地址
            'password' => '密码自己填', //SMTP密码
            'port' => '25', 
            'encryption' => 'tls', 
        ], 
        'messageConfig'=>[ 
             'charset'=>'UTF-8', 
             'from'=>['from@163.com'=>'system'] 
        ], 
    ],
    /.....
]


    4,最后在控制器中添加代码并测试发送邮件。

    

/**
     * 发送邮件
     * 
     * @return bool
     */
    public function actionIndex()
    {  
   	    // 注意配置参数 mail
		$from = Yii::$app->params['mail'];
   	    $to = "mail_to@163.com";
   	    $subject = "早上好啊!";
   	    $body = "You Are A Surper Man!";
        $mailer = Yii::$app->mailer->compose();
        $mailer->setFrom($from);
        $mailer->setTo($to);
        $mailer->setSubject($subject);
        $mailer->setHtmlBody($body);
        $status = $mailer->send();
        echo $status;
    }


    5,如果输出1就代表发送成功了。

赞助我,共同学习进步!