YII发送debug日志到指定邮箱以及邮件发送功能配置

此功能是为了能及时跟踪网站中的重大错误。
bug的跟踪方式有几种。
1.[[yii\log\DbTarget]]:把日志信息保存到数据库。
2.[[yii\log\EmailTarget]]: 把日志信息发送到指定的邮箱
3.[[yii\log\FileTarget]]: 把日志写到到文件。
4.[[yii\log\SyslogTarget]]: 调用PHP的syslog()方法将日志写入到系统日志。
这里只提第2、3点
在config配置中,配置如下:
$config = [
	'compents' => [
		//以下是关于邮箱发送的设置
		'mailer' => [
			'class' => 'yii\swiftmailer\Mailer',
			'useFileTransport' => false,//强烈注意,这里一定要配置成false才能发送
			'transport' => [
				'class' => 'Swift_SmtpTransport',
				'host' => 'smtp.163.com',
				'username' => '1111g@163.com',
				'password' => '******',
				'port' => '25',
				//'encryption'=>'tls'
			],
			'messageConfig' => [
				'charset' => 'UTF-8',
				'from' => ['ouyangyanzhong@163.com' => 'admin']
			]
		],
		//以下是关于debug日志的配置
		'log' => [
			'traceLevel' => YII_DEBUG ? 3 : 0,//追踪等级
			'targets' => [
				[
					'class' => 'yii\log\FileTarget',//文件日志
					'levels' => ['error', 'warning'],
				],
				[
					'class' => 'yii\log\EmailTarget',//邮箱日志
					'levels' => ['trace'],
					'message' => [
						'from' => '1111g@163.com',
						'to' => '11@qq.com',
						'subject' => 'log message'
					]
				]
			]
		]
	]
];

如果在其他地方需要使用到邮件发送,具体代码如下
$mail= \Yii::$app->mailer->compose();
$mail->setTo('111@qq.com');
$mail->setSubject("邮件测试");
//$mail->setTextBody('zheshi ');   //发布纯文字文本
$mail->setHtmlBody("<br>问我我我我我");    //发布可以带html标签的文本
if($mail->send()){
	echo "success";
}else{
	echo "failse";
}
exit;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值