PHP正则表达式获取武汉市的实时pm2.5数据并邮件发送phpmailer

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34069180/article/details/53947011

最近读了PHP与mysql web开发这本书学习PHP,感觉受益匪浅,PHP是由C语言所编写的,所以C语言的语法在PHP中同样适用如printf与PHP的echo一样具有输出功能,(换行)。学习了PHP语言的正则表达式来抓取网页内容,又读到了php的mail函数时想用来发送邮件,但是mail函数只能在用户机中自己发送接收,查了一下资料发现有人开发出phpmailer来解决这个问题。
自己写的这个小脚本目的是正则表达式获取武汉市的实时pm2.5数据并进行小小的判断,结果发送到接收人的邮箱中,此处采用了126邮箱发送至本人qq邮箱作为测试。

<?php
$url='http://www.pm25.com/wuhan.html';  
$lines_array=file($url); 
$lines_string=implode('',$lines_array); 
//echo htmlspecialchars($lines_string); 
preg_match('/<a class=\"bi_aqiarea_num\" href=\"\/city\/wuhan\.html\">(.*?)<\/a>/',$lines_string,$result);//preg_match函数
echo  '</br>';
$pm25=(int)$result[1];
printf("haha,%d\n",$pm25);
echo  '</br>';
if($pm25 <100)
{
    printf("today is a good day");
}
else {
    echo "today ,you'd better stay in home <br />";
}

header("content-type:text/html;charset=utf-8");
ini_set("magic_quotes_runtime",0);
require 'class.phpmailer.php';
try {
    $mail = new PHPMailer(true); 
    $mail->IsSMTP();
    $mail->CharSet='UTF-8'; //设置邮件的字符编码,这很重要,不然中文乱码
    $mail->SMTPAuth   = true;                  //开启认证
    $mail->Port       = 25;                    
    $mail->Host       = "smtp.163.com"; 
    $mail->Username   = "[email protected]";    
    $mail->Password   = "邮箱密码";            
    //$mail->IsSendmail(); //如果没有sendmail组件就注释掉,否则出现“Could  not execute: /var/qmail/bin/sendmail ”的错误提示
    $mail->AddReplyTo("[email protected]","mckee");//回复地址
    $mail->From       = "[email protected]";
    $mail->FromName   = "yourlover";//发件人姓名
    $to = "[email protected]";
    $mail->AddAddress($to);
    $mail->Subject  = "zhang";//邮件标题
    if ($pm25 <100)
{
    $mail->Body = "<h1>phpmail</h1>(<font color=red>today is a good day</font>)the pm25 is.$pm25";
}
    else 
{
    $mail->Body = "<h1>phpmail</h1>(<font color=red>today ,you'd better stay in home</font>)the pm25 is.$pm25";
}
    //$mail->Body = "<h1>phpmail</h1>(<font color=red>www.phpddt.com</font>)对phpmailer的测试内容";
    $mail->AltBody    = "To view the message, please use an HTML compatible email viewer!"; //当邮件不支持html时备用显示,可以省略
    $mail->WordWrap   = 80; // 设置每行字符串的长度
    //$mail->AddAttachment("f:/test.png");  //可以添加附件
    $mail->IsHTML(true); 
    $mail->Send();
    echo '邮件已发送';
} catch (phpmailerException $e) {
    echo "邮件发送失败:".$e->errorMessage();
}
?>

猜你喜欢

转载自blog.csdn.net/qq_34069180/article/details/53947011