定时发送邮件告知当前天气情况
1,首先购买天气查询api权限(我用的聚合数据的–免费条数500条)购买地址:https://www.juhe.cn/docs/api/id/39购买之后 进入到聚合数据的个人中心:
左侧菜单栏点击“数据中心–>我的接口”:
将appkey复制下来
2, 写查询天气接口
3, 邮箱申请smtp服务:(个人使用的qq邮箱)
登陆qq邮箱:点击“设置”->“账户”
然后开启下方红框的两项服务:
然后点击下方的生成授权码:
将授权码记录下来
4, laravel配置发送邮件:打开根目录下的“.env”文件(/root/blog/.env)编辑这些内容
然后保存即可
5,写发送邮件方法:
6, 根据查询天气api接口返回的数据,将其拼接成一个字符串:并发送给目标邮箱
public function getWeather(){ $result =
t
h
i
s
−
>
c
h
e
c
k
W
e
a
t
h
e
r
(
)
;
i
f
(
!
e
m
p
t
y
(
this->checkWeather(); if(!empty(
this−>checkWeather();if(!empty(result[‘resultcode’]) && $result[‘resultcode’] == 200) {
r
e
a
s
o
n
=
′
今
日
′
.
d
a
t
e
(
"
Y
−
m
−
d
"
)
.
′
石
家
庄
天
气
:
′
.
reason = '今日'.date("Y-m-d").' 石家庄天气:'.
reason=′今日′.date("Y−m−d").′石家庄天气:′.result[‘result’][‘today’][‘weather’].’, 温度范围:’.
r
e
s
u
l
t
[
′
r
e
s
u
l
t
′
]
[
′
t
o
d
a
y
′
]
[
′
t
e
m
p
e
r
a
t
u
r
e
′
]
.
′
,
风
向
:
′
.
result['result']['today']['temperature'].', 风向:'.
result[′result′][′today′][′temperature′].′,风向:′.result[‘result’][‘today’][‘wind’].’, 温度:’.
r
e
s
u
l
t
[
′
r
e
s
u
l
t
′
]
[
′
t
o
d
a
y
′
]
[
′
d
r
e
s
s
i
n
g
i
n
d
e
x
′
]
.
′
,
穿
衣
建
议
:
′
.
result['result']['today']['dressing_index'].', 穿衣建议:'.
result[′result′][′today′][′dressingindex′].′,穿衣建议:′.result[‘result’][‘today’][‘dressing_advice’].’------------’.‘实时天气: 温度:’.
r
e
s
u
l
t
[
′
r
e
s
u
l
t
′
]
[
′
s
k
′
]
[
′
t
e
m
p
′
]
.
′
,
风
向
:
′
.
result['result']['sk']['temp'].', 风向:'.
result[′result′][′sk′][′temp′].′,风向:′.result[‘result’][‘sk’][‘wind_direction’].$result[‘result’][‘sk’][‘wind_strength’]; } else $reason = $result[‘reason’];
t
h
i
s
−
>
s
e
n
d
E
m
a
i
l
(
this->sendEmail(
this−>sendEmail(reason);}7,写定时任务:在putty中:crontab -e然后:55 07 * * * curl -i https://www.xxxx.com/getWeather (表示每天的7点55分 访问https://www.xxxx.com/getWeather这个网址)
esc-> :wq! 保存退出
然后:crontab -l
查看当前的定时任务
成功!
如果想在发邮件的时候传递参数: