LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1592|回复: 5

如何用 shell 写一个定时发送邮件的程序???

[复制链接]
发表于 2005-8-23 19:00:34 | 显示全部楼层 |阅读模式
linux 主机处于内网当中,是用 ADSL 猫内置路由拨号上网。

如何用 shell 写一个可以获取外网 IP 并定时发送至指定信箱的程序?

可以做到吗?

还是一定要用 C 或 PHP 之类的东东来写?

感谢大家。
发表于 2005-8-23 20:43:21 | 显示全部楼层
定时执行
[php]
foo(){
        # 自定义函数
        # 加入你的程序段
        #

        # 定时 30m 执行一次
        ( sleep 30m ; foo )&
}
[/php]


发邮件
[php]
MYIP=211.91.88.45
mail hams@163.com <<OO
现在的 IP 是 $MYIP
完毕
OO
[/php]





定时用 系统自己的 cron 也可以
回复 支持 反对

使用道具 举报

发表于 2005-8-24 05:30:09 | 显示全部楼层
set up this in your crontab:

  1. * */6 * * * /bin/echo "$(w3m -dump checkip.dyndns.org)" | mail -s "current ip" root
复制代码

It will send the current external IP for every 6 hours to root user.
你需要w3m这个软件来完成这个cron task.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-8-24 10:11:00 | 显示全部楼层
不得了,都是牛人,发送EMAIL的时候不是都需要进行 esmtp 验证?

能否给个具体的代码?


w3m 这是什么东东?

感谢楼上两位版主的帮助,好人哟。
回复 支持 反对

使用道具 举报

发表于 2005-8-24 21:34:47 | 显示全部楼层
那要看你怎么配置的,缺省的sendmail配置对local用户可直接发送。w3m是一个基于terminal的浏览器,功能很多,dump这个option可以实现stdout,这样其他的程序就可以配合使用达到目的。
回复 支持 反对

使用道具 举报

发表于 2005-8-24 21:37:42 | 显示全部楼层
代码例子不是都帖出来了吗。还有就是这个是从内网直接获得外网的IP地址,所有操作都是在本地网完成的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表