基于Yii2.0发送邮箱

来源:互联网 发布:js回调函数如何返回值 编辑:程序博客网 时间:2024/06/05 11:20

Yii2.0发送邮件是很容易的,只需要配置个文件,然后开启php_openssl扩展即可。首先我们先配置YII2.0邮件类,在YII2.0框架的配置文件的components数组里配置如下:

'mailer' => [   'class' => 'yii\swiftmailer\Mailer',    //这句一定有,false发送邮件,true只是生成邮件在runtime文件夹下,不发邮件    'useFileTransport' => false,    'transport' => [        'class' => 'Swift_SmtpTransport',        /*这里根据你邮箱地址去配置         我这里用的是网易邮箱*/        'host' => 'smtp.163.com',        //发送邮箱的账户        'username' => '你的邮箱账户',        //发送邮箱的密码        'password' => '你的邮箱密码',        //邮箱的端口,网易邮箱是465,腾讯是25,根据需要配置        'port' => '465',        //加密,默认写ssl就可以        'encryption' => 'ssl',    ],],

这样就把YII2.0邮箱配置成功,接下来就来看看能不能发送邮件了,我们写个控制器来发送。代码如下:

public function actionSendmail(){    $mail= Yii::$app->mailer->compose();      $mail->setFrom("发送邮箱的账户");     $mail->setTo('接收邮箱的账户');      $mail->setSubject("邮件测试");     $mail->setHtmlBody("<h1>可以发送带html标签文本,如果想发送纯文本,可以使用setTextBody</h1>");     if($mail->send())    {        echo "发送成功!";    }    else    {        echo "发送失败!";    }}

最后访问这个控制器,如果显示发送成功,可以去看下接收邮箱是否有一封未读邮件。如果发送失败,请仔细查阅是否字符写错还有是否开启php_openssl扩展。

原创粉丝点击