Linux系统相关学习:IP地址邮件自动发送

原创 2012年03月28日 20:25:24

   试验环境: ubuntu10.04

   目标:实现一个开机后不用用户登录就自动发邮件报告ip地址的功能,主脚本放在/etc/init.d下,系统默认运行级别为2,所以在 /etc/rc2.d/下建个S99级别的软链接。 具体实现是先用ifconfig获取系统IP信息,保存到/tmp下的一文件IPaddr,然后通过sendmail脚本读取IPaddr文件来发送邮件。 确认脚本都正常工作。

python脚本:sendmail.py

#!/usr/bin/env python
import sys
import smtplib
from email.mime.text import MIMEText

if len(sys.argv) < 2:
    print "Usage: python " + sys.argv[0] + " mail_content"
    sys.exit()
###################
# read IP address #
###################
fh = open(sys.argv[1], "r")
mail_content = fh.read()
fh.close()

##############
# send email #
##############
mailto_list=["****@gmail.com"]

mail_host="***"
mail_user="***"
mail_pass="***"
mail_postfix="***"

def send_mail(to_list, sub, content):
    '''
    to_list: to who
    sub: subject
    content:
    send_mail(to_list, subject, content)
    '''
    me = mail_user + "<" + mail_user + "@" + mail_postfix + ">"
    msg = MIMEText(content)
    msg['Subject'] = sub
    msg['From'] = me
    msg['To'] = ";".join(to_list)
    try:
        s = smtplib.SMTP();
        s.connect(mail_host)
        s.login(mail_user, mail_pass)
        s.sendmail(me, to_list, msg.as_string())
        s.close
        return True
    except Exception, e:
        print str(e)
        return False
if __name__ == '__main__':
    if send_mail(mailto_list, "Lab. IP address", mail_content):
        print "send OK!"
    else:
        print "sent fail!"

执行脚本:

#!/bin/sh
home="/home/user/SendIP"
log="$home/sendmail.log"
IPaddr="$home/IPaddr"
/bin/date >> $log
/sbin/ifconfig > $IPaddr
python $home/sendmail.py $IPaddr >> $log
exit 0


     现在遇到以下问题:开机时IPaddr文件中并没有分配实际的ip信息, 导致sendmail发送失败。系统登录后运行/etc/init.d/sendIP  status 能正确运行,发送成功!想问问IP的获取是在什么阶段运行的,不是应该在rc2.d运行就应该完成配置了吗? 不解~


附IPaddr文件:

UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000 
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:17 

lo Link encap:Local Loopback 
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0 
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)



     开机自动发邮件的目的最终搞不定,降低要求,定时发就可以。  用crontab 搞定!

树莓派自动发送ip到指定邮箱

一.新建一个python脚本文件 输入命令: touch send_ip.py 2.编写python脚本 (1)输入命令: sudo vim send_ip.py (2)写入以下代码 ...
  • u013151320
  • u013151320
  • 2015年12月10日 18:32
  • 3709

工作环境搭建(6) - CentOS7开机自动发送IP地址到指定邮箱

上一篇:工作环境搭建(5) - CentOS7用证书方式登陆ssh 下一篇:待续没有固定IP,机器重启时,IP地址偶尔会改变,需要每次机器启动后自动把IP地址发到邮箱里:- 在文件/etc/rc.d...
  • CheNorton
  • CheNorton
  • 2015年12月08日 18:33
  • 935

树莓派通过邮件发送IP地址

参考文档 http://blog.csdn.net/u013151320/article/details/50251959查看树莓派IP,若有显示器,直接输入 ifconfig便可查看 若要用pu...
  • betty13006159467
  • betty13006159467
  • 2017年05月04日 16:56
  • 790

python实现自动获取IP并发到邮箱

python实现自动获取IP并发到邮箱树莓派没有显示器,而不想设置固定IP,因为要随身携带外出,每个网络环境可能网段不一样。因此想用python写个脚本,让树莓派开机后自动获取本机ip,并且自动发送到...
  • adminsu
  • adminsu
  • 2016年11月17日 23:43
  • 290

树莓派通过邮件上报实时IP,随时随地远程登录树莓派

Posted on 2015年10月15日 by laixintao 5 Comments 树莓派接上键鼠和显示器就是一台普通的Linux的主机了,这样没什么好玩的。我的想法是...
  • lakeheart879
  • lakeheart879
  • 2016年07月01日 10:28
  • 2648

获取外网IP并发送邮件通知

名称: IP地址通知器 下载最新版  (在使用的过程中,如果您有什么问题,请给我发邮件,或者在这里(csdn我的博客)上留言.) 版本: 1.26 正式版 作者: 阙荣文 - Que's C+...
  • querw
  • querw
  • 2010年11月12日 13:10
  • 11978

[Raspberry]开机发送IP到邮箱

自己弄了个树莓派,用显示器连了
  • lzz957748332
  • lzz957748332
  • 2014年10月04日 13:04
  • 2760

如何使用确定对方已经阅读你发送的邮件并从对方邮件中确定对方的ip地址

好多大学的选修课都是按照老师的要求把作业发送到邮箱中,但是好多同学发送了作业or结业论文后不知道老师是否已经接收到。可以使用以下的方式来确定老师是否已经阅读邮件。 第一步:打开邮箱找到“已发送” ...
  • yuyushikuan
  • yuyushikuan
  • 2016年05月08日 22:36
  • 3784

linux ip地址自动获取(图文解释)

在私网中,ip地址一般需要自动获取,而不是主动分配,这样可以避免ip地址的冲突。 使用命令setup:可以进行 X配置 防火墙配置 键盘配置 时区配置 网络配置 系统服务 验证配置 在root账户...
  • zhy_yz
  • zhy_yz
  • 2010年08月05日 14:25
  • 12578

2017-6-10-1 ······开机自动检测并发送IP地址到指定邮箱

2017-6-10 学习日志 (未成功,记录以备后解)注所以后来使用了msmtp+mutt+shell脚本的方式成功实现了开机检测IP并发送到指定邮箱。 详情见下一篇文章----2017-6-10...
  • u013073123
  • u013073123
  • 2017年06月18日 22:49
  • 328
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linux系统相关学习:IP地址邮件自动发送
举报原因:
原因补充:

(最多只允许输入30个字)