每天自动给自己发一封邮件

2018-07-10 18:01:00

不知肿么回事 突然蹦出个想法 每天早晨自动给自己发一封邮件 邮件内容 有天气、日程计划、提醒内容...@(笑眼)

天气源很简单 自己用 随便哪个天气API都可以 我用的心知天气 因为之前写软件时用过他家的天气 免费版:400次/小时,也就是9600次/天。

目前只有天气功能,下一步写个简单的后台,可以提醒日程 ,还有开学后 每天的课程,以及网站的一些数据 #(高兴)

邮件发送使用smtp 省事

<meta charset="utf-8">
<?php

    include("class.phpmailer.php");
    include("class.smtp.php");
    //weather
    include("weather.php");
    //邮件模板
    $moban=file_get_contents("text.html");
    $moban=str_replace(day_data,$day_data,$moban);
    
    $mail = new PHPMailer();
    $mail->CharSet = 'UTF-8';
    $text  = $moban;
      
    //设置smtp参数
      
    $mail->IsSMTP(); 
    $mail->SMTPAuth   = true;                
    $mail->SMTPKeepAlive = true;    
    $mail->SMTPSecure = "ssl"; //是否ssl        
    $mail->Host       = "smtp.exmail.qq.com";  //我的是腾讯企业邮箱 自行更换
    $mail->Port       = 465; //发信端口
   
    //填写你的邮箱账号和密码 
    $mail->Username   = "nideyouxiangzhanghao";  //发信邮箱 
    $mail->Password   = "nidemima";//密码        

    //设置发送方,最好不要伪造地址 
    $mail->From       = "nideyouxiangzhanghao";//发信邮箱
    $mail->FromName   = "xingming";//发信人姓名
    $mail->Subject    = "「早安」新的一天美美哒";//发信标题
    $mail->AltBody    = $text;
    $mail->WordWrap   = 50; // set word wrap
    $mail->MsgHTML($text);
      
    //设置邮件接收方的邮箱和姓名
    $mail->AddAddress("bin@fooor.cn","主人");//收信人邮箱 和 姓名
    //使用HTML格式发送邮件 
    $mail->IsHTML(true); 
    //通过Send方法发送邮件
    //根据发送结果做相应处理
    if(!$mail->Send()) {
        echo "Mailer Error: " . $mail->ErrorInfo;
    } else {
        echo "Message has been sent";
    }
?>

如果你懒得注册.....恩...就用我的key 吧 我是不会相信有人用的...

weather.php

<?php
header("Content-type: text/html; charset=utf-8"); //设置编码 utf-8 
function httpGet($url)
{
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    // 终止从服务端进行验证
    // 如需设置为 TRUE,建议参考如下解决方案:
    // https://stackoverflow.com/questions/18971983/curl-requires-curlopt-ssl-verifypeer-false
    // https://stackoverflow.com/questions/6324391/php-curl-setoptch-curlopt-ssl-verifypeer-false-too-slow
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    $output=curl_exec($ch);
    curl_close($ch);
    return $output;
}
// 心知天气接口调用凭据
$key = 'apqxetcden9h40gd'; // 请更换成您自己的 Key
$uid = 'U7B656DCFA'; // 请更换成您自己的用户 ID
// 参数
$api = 'https://api.seniverse.com/v3/weather/daily.json'; // 接口地址
$location = 'fuyang'; // 城市名称。除拼音外,还可以使用 v3 id、汉语等形式
$param = [
    'ts' => time(),
    'ttl' => 300,
    'uid' => $uid,
];
$sig_data = http_build_query($param); // http_build_query 会自动进行 url 编码
// 使用 HMAC-SHA1 方式,以 API 密钥(key)对上一步生成的参数字符串(raw)进行加密,然后 base64 编码
$sig = base64_encode(hash_hmac('sha1', $sig_data, $key, TRUE));
$param['sig'] = $sig; // 签名
$param['location'] = $location;
$param['start'] = 0; // 开始日期。0 = 今天天气
$param['days'] = 1; // 查询天数,1 = 只查一天
// 构造 url
$url = $api . '?' . http_build_query($param);

$day_weather =httpGet($url);
$data_weather= json_decode($day_weather,true);

//取 温度 地区等
$day_text=$data_weather['results']['0']['daily']['0']['text_day'];
$day_city=$data_weather['results']['0']['location']['name'];
$day_high=$data_weather['results']['0']['daily']['0']['high'];
$day_low=$data_weather['results']['0']['daily']['0']['low'];

$day_data=$day_text.'  '.$day_high.'° ~ '.$day_low.'° ';//拼接天气数据

任务需要监控来定时运行

如果你也想弄个而且比较懒得话 那就凑合用吧

[button href="https://pan.baidu.com/s/13XVxUHhvoJdk7nHDLXsaQg"]打包下载[/button]

当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »