python获取本地IP地址发送邮件

#!/usr/bin/env python

#_*_coding:utf-8 _*_

import time

import socket

import fcntl

import struct

import smtplib

from email.mime.text import MIMEText

def get_ip_add(ifname):

s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)

return socket.inet_ntoa(fcntl.ioctl(

s.fileno(),

0x8915,

struct.pack(‘256s‘,ifname[:15])

)[20:24])

def sendmail(subject,msg,fromemail,emailpasswd,toemail):

user=fromemail

pwd=emailpasswd

to=toemail

nowtime=time.strftime(‘%Y-%m-%d %H:%M:%S‘)

msg=MIMEText(msg)

msg["Subject"]=subject

msg["From"]=user

msg["To"]=to

try:

#s=smtplib.SMTP_SSL(‘smtp.qq.com‘,465)

s=smtplib.SMTP(‘smtp.126.com‘,25)#连接126服务端

s.login(user,pwd)

s.sendmail(user,to,msg.as_string())

s.quit()

print "[%s]INFO:Email send Success!"% nowtime

except smtplib.SMTPException,e:

print "[%s]ERROR:Email send Faild,%s"%(nowtime,e)

if __name__==‘__main__‘:

local_id=get_ip_add(‘em1‘)

print local_id

subject=‘服务器[%s]日志报警了!‘%local_id#可以根据实际定义

fromemail=‘[email protected]‘

emailpasswd=‘xxxxx‘##这里的密码是客户端的授权码,不是126的登录密码

toemail=‘[email protected]‘#发给谁

name_1="This is tesing"

sendmail(subject,name_1,fromemail,emailpasswd,toemail)#name_1可以根据实际的需求写对应的内容

时间: 2024-08-02 23:13:20

python获取本地IP地址发送邮件的相关文章

Linux下编程获取本地IP地址的常见方法

转载于:http://blog.csdn.net/k346k346/article/details/48231933 在进行linux网络编程时,经常用到本机IP地址.本文罗列一下常见方法,以备不时之需. 获取本机IP地址,是一个相当灵活的操作,原因是网络地址的设置非常灵活而且都是允许用户进行个性化设置的.比如一台计算机上可以有多块物理网卡或者虚拟网卡,一个网卡上可以绑定多个IP地址,用户可以为网卡设置别名,可以重命名网卡.用户计算机所在网络拓扑结构未知,主机名设置是一个可选项,并且同样可以为一

Linux C 网络编程 - 获取本地 ip 地址,mac,通过域名获取对应的 ip

获取本地 ip 地址,mac,通过域名获取对应的 ip, 是网络编程可能遇到的比较常见的操作了,所以总结如下(封装了3个函数), 直接上代码: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <errno.h> #include <unistd.h> #include <netdb.h> #include <net/if.h> #inc

Android获取本地IP地址,Ipv4地址检查,Ipv6地址检查

/** * 获取本地IP地址 * @author YOLANDA * @return */ public static String getLocalIPAddress() { String ipAddress = ""; try { Enumeration<NetworkInterface> netfaces = NetworkInterface.getNetworkInterfaces(); // 遍历所用的网络接口 while (netfaces.hasMoreEle

C#获取本地IP地址,内网+外网方法

1 #region 获取内.外网Ip 2 3 /// <summary> 4 /// 获取本地ip地址,优先取内网ip 5 /// </summary> 6 public static String GetLocalIp() 7 { 8 String[] Ips = GetLocalIpAddress(); 9 10 foreach (String ip in Ips) if (ip.StartsWith("10.80.")) return ip; 11 for

Python获取客户端IP地址

获取客户端IP地址 if 'HTTP_X_FORWARDED_FOR' in request.META: ipaddress = request.META['HTTP_X_FORWARDED_FOR'] else: ipaddress = request.META['REMOTE_ADDR'] 原文地址:https://blog.51cto.com/14284354/2401482

python获取本地ip

def get_ip_address(ifname): s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) return socket.inet_ntoa(fcntl.ioctl(s.fileno(),0x8915,struct.pack('256s', ifname[:15]))[20:24]) 1.套接字 2.通常,非Python程序以32位字节包的形式存储和使用IP地址.inet_aton(ip_addr)和inet_ntoa(pack

C#之获取本地IP地址

最近协助一个项目解决了一个获取IP地址的问题,手机客户端与WebService进行通讯,然后WebService通过TCP通讯把指令传递到另一台PC机上.在测试的过程中,总是会出现WebService服务器和PC机通讯失败的问题,但是用TCP调试工具进行通讯调试这两台机器是可以进行通讯的,进行调试好了之后,换了另外的网络环境又通讯不了.最后拿到了代码,排查出来是IP地址获取的问题. 原始代码获取IP地址是通过Dns.GetHostAddresses(Dns.GetHostName())进行获取I

python 获取远程设备ip地址

python2.7 #!/usr/bin/env python # Python Network Programming Cookbook -- Chapter - 1 # This program is optimized for Python 2.7. # It may run on any other version with/without modifications. import socket def get_remote_machine_info(): remote_host =

C#获取本地IP地址[常用代码段]

获得当前机器的IP代码,假设本地主机为单网卡 string strHostName = Dns.GetHostName(); //得到本机的主机名 IPHostEntry ipEntry = Dns.GetHostByName(strHostName); //取得本机IP string strAddr = ipEntry.AddressList[0].ToString(); //假设本地主机为单网卡 名字空间 using System.Net