基于Yii2.0发送邮箱

  • 来源:新网
  • 更新日期:2018-03-09

摘要:Yii2.0发送邮件是很容易的,只需要配置个文件,然后开启php_openssl扩展即可。首先我们先配置YII2.0邮件类,在YII2.0框架的配置文件的components数组里配置如下:\'mailer\' => [ \'class\' => \'yiiswiftmailerMailer\', //这句一定有,false发送邮件,true只是生成邮件在runtime文件夹下,不发邮件

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

t016d03f465c72ad830.jpg

\'mailer\' => [ \'class\' => \'yiiswiftmailerMailer\', //这句一定有,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扩展。