Linux邮件服务入门
Posted pycrab
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux邮件服务入门相关的知识,希望对你有一定的参考价值。
前言
想定期查询天气并提示我,很容易想到了创建定时任务然后给我自己发邮件,进而学习了linux如何发邮件,下面就开始吧。
开启邮件服务
- 首先执行
mail
命令看有没有安装,没有的话会提示安装mailutils,执行apt install mailutils
安装,默认安装所有就好。 - 执行以下命令看相关的有没有安装,没有手动安装。
which mail
which mailx
which sendmail
which postfix
- 配置mail,使用smtp功能。
vim /etc/mail.rc
打开或者创建文件并填写以下内容:
set [email protected] set smtp=smtp.163.com set [email protected] set smtp-auth-password=****** set smtp-auth=login
其中,password是使用163邮箱生成的授权码,不是邮箱密码(163邮箱要开启smtp服务哦). - 查看postfix状态,需要开启此服务
/etc/init.d/postfix status
/etc/init.d/postfix start
ok,到这里已经可以发送邮件啦! - 发送邮件测试一下
echo today is a nice day! | mail -s today [email protected]
等一会就收到邮件了,我试了qq邮箱也是可以的,而outlook邮箱把邮件拉进了反垃圾黑名单,被退回来了:??:,暂时没找到解决办法。
实现定时任务
- 编写脚本
vim /home/popo/getweather.sh
curl -H "Accept-Language:zh" wttr.in/paris > /home/popo/today.weather
,查询天气信息并写入文件
chmod a+x /home/popo/getweather.sh
,修改可执行权限
cd /home/popo
,尝试执行./getweather.sh
,查看天气cat today.weather
vim /home/popo/send.sh
echo Weather information has arrived.|mail -s "weather" [email protected] < today.weather
发送天气邮件
chmod a+x send.sh
,修改可执行权限
尝试执行./send.sh
,查看邮件是否收到 - 创建任务
crontab -l
,查看当前任务列表
crontab -e
,编写任务
在末尾添加0 12 * * * /bin/bash /home/popo/getweather.sh
和0 13 * * * /bin/bash /home/popo/send.sh
表示在每天中午十二点查询天气,十三点发送邮件。ok,大功告成!
以上是关于Linux邮件服务入门的主要内容,如果未能解决你的问题,请参考以下文章
-bash: /usr/bin/ls: /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory(代码片段