树莓派实战2:发送ip地址到自己邮箱

接上:

2、

发送邮件的程序:

网上有很多做法,通过web.py自带的库来发送邮件最为方便

先配置python +web.py

shell中输入 python

如果显示 Python 2.7.3,说明打开python2成功(如果要退出,ctrl+z)

继续输入import web

如果ImportError: No module named xxx,则未安装web.py

如果不报错,则已安装web.py

安装web.py如下

shell中输入   wget http://webpy.org/static/web.py-0.37.tar.gz

然后 tar -xf web.py-0.37.tar.gz

然后sudo python setup.py install

再次尝试import web  ,如果不报错,则 安装成功

3、

发送ip到邮箱程序的实现:

在终端中nano mail.py,然后写入这些内容,配置自己的账号密码,如果报错,可能是程序缩进的原因

#!\usr\bin\env python

#encoding: utf-8

import web

#程序通过直接调用web.py里面的库 来实现发邮件

#cc,bcc 使用了默认参数

def send_mail(send_to, subject, body, cc=None, bcc=None):

try:

web.config.smtp_server = ‘smtp.163.com‘   ##邮件发送服务器

web.config.smtp_port = 25    ##不设置将使用默认端口

web.config.smtp_username = ‘你的邮箱用户名,无@xx.com‘   ##邮件服务器的登录名

web.config.smtp_password = ‘你邮箱的密码‘   ##邮件服务器的登录密码

web.config.smtp_starttls = True

send_from = ‘你的邮箱账号,[email protected]‘    ##发送的邮件

web.sendmail(send_from, send_to, subject, body, cc=cc, bcc=bcc)

return 1  #pass

except Exception, e:

print e

return -1 #fail

if __name__==‘__main__‘:

send_to = [‘发送给谁‘]

subject = ‘邮件标题‘

body = ‘邮件内容\n试一下噻‘

cc = [‘抄送给谁‘]   ##抄送

bcc = [‘密送给谁‘]  ##密抄

send_mail(send_to, subject, body, cc, bcc)

配置完成之后,python mail.py 这时候你的邮箱就成功发送了

其中:body 是你在信中要写的内容

注意:  程序调用web.sendmail较慢,估计2s左右。

以下是我的mail.py:

#!\usr\bin\env python

#encoding: utf-8

import web

def send_mail(send_to, subject, body, cc=None, bcc=None):

try:

web.config.smtp_server = ‘smtp.163.com‘   ##邮件发送服务器

web.config.smtp_port = 25    ##不设置将使用默认端口

web.config.smtp_username = ‘xxxx‘   ##邮件服务器的登录名

web.config.smtp_password = ‘xxxx‘   ##邮件服务器的登录密码

web.config.smtp_starttls = True

send_from = ‘[email protected]‘    ##发送的邮件

web.sendmail(send_from, send_to, subject, body, cc=cc, bcc=bcc)

return 1  #pass

except Exception, e:

print e

return -1 #fail

if __name__==‘__main__‘:

f=file(‘/home/pi/Desktop/ip.log‘)

f1=f.read()

f.close()

send_to = [‘[email protected]‘]

subject = ‘connection check‘

body = ‘hello , xxxx! I am still alive. I will send you an email in another hour.‘,f1

send_mail(send_to, subject, body)

此时的效果:

你已经收到了你树莓派的内网和外网ip了!

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-27 01:13:53

树莓派实战2:发送ip地址到自己邮箱的相关文章

python实战系列之ip地址排序问题(02)

1. 背景说明 从openstack的nova list中获取了虚拟机的ip地址,但这些ip都没有排序和分组,为了进一步增强可读性,对ip地址执行排序操作,在shell下,可以通过sort命令,执行排序操作,具体操作如下: [[email protected] ~]# cat ip.txt | sort -t "." -k1,1n -k2,2n -k3,3n -k4,4n 10.1.104.75 10.1.104.87 10.1.104.149 10.1.104.151 10.1.10

python3练习-发送IP地址到邮箱

需求: 从外网通过VPN访问内网,并登录电脑A.在电脑A通过共享文件夹(需要\\IP的方式访问)访问到内网电脑B,由于电脑B的WI-FI的IP地址会变化,所以当电脑B的I访问路径需要获知电脑B的最新IP import socketimport smtplibimport jsonfrom email.header import Headerfrom email.mime.text import MIMETextfrom email.utils import parseaddr, formatad

mysql数据库优化实战--日期及IP地址的正确存储方式

原文地址:https://www.cnblogs.com/niwotaxuexiba/p/11679500.html

树莓派 启动 自动上报IP

两个月前入手的树莓派B+, 由于网络环境变化,设置固定ip不现实. 因此参照http://shumeipai.nxez.com/2014/03/18/let-raspberry-pi-ip-address-is-automatically-reported-to-the-mailbox.html 设置开机上报ip.但总是出现各种问题. 最近学习python,刚好树莓派自带有python, 写一个脚本发送ip地址,将其添加到开机启动项, 代码: #!/usr/bin/env python impo

C#服务器获取客户端IP地址以及归属地探秘

背景:博主本是一位Windows桌面应用程序开发工程师,对网络通信一知半解.一日老婆逛完某宝,问:"为什么他们知道我的地址呢,他们是怎么获取我的地址的呢?" 顺着这个问题我们的探秘开始: 第一步:简单的服务搭建 思路,通过HttpListener在本地搭建一个简易的服务器,开发程序为控制台接口,核心类 HttpListenerService: 方法 Start()开启线程池针对指定IP进行监听,本地的端口选取的9527(周星驰唐伯虎点秋香在华府的编号)  public void Sta

DHCP(动态主机获取IP地址)

动态 IP地址下放过程: 1.主机发送DHCP discover包发现DHCP服务器 2.DHCP服务器发送DHCP offer包发送IP地址通过逆向ARP将IP地址解析成MAC地址,进行广播,收到该MAC地址的回应证明IP地址已被占用,没有收到证明该IP可以使用 3.主机通过DHCP request包请求DHCP服务器提供该IP 4.DHCP服务器收到请求后发送DHCP ack响应请求,主机也发送ack进行双向确认(当存在多个DHCP服务器时,只有双向确认了的DHCP服务器才能成功下放IP)

树莓派实战1:查询自己内网,外网ip

这4个实战合起来的完成效果就是:让树莓派每小时把自己ip地址通过邮件自动地发送到自己邮箱 实战2 :http://blog.csdn.net/make_app/article/details/47305179 实战3 :http://blog.csdn.net/make_app/article/details/47305337 实战4:http://blog.csdn.net/make_app/article/details/47305387 0.系统环境 树莓派a+,系统wheezy 输入un

让树莓派自动上报IP地址到邮箱,二代B

由于我使用树莓派的场景大多数是在没有显示器.只用terminal连接它的情况下,所以,它的IP地址有时会在重启之后变掉(DHCP的),导致我无法通过terminal连接上它.然后我又要很麻烦地登录路由器的管理界面里,去看它被分配到的新IP是什么,然后用terminal重连,太麻烦了,不是么?作为一个树莓派玩家,这种麻烦简直是无法接受的! 为了解决这个问题,我让Pi开机的时候,自动向我指定的Email发送一封邮件,告诉我它此次开机时的IP地址.步骤: 开机时执行一个脚本,检测网络可用性→网络通畅后

树莓派实战4:配置一小时发送一次邮件

接上 5. 配置crontab ,这是Linux 自带的定时执行任务 . 输入 crontab -e 开始配置 打开后你会看到很多# 在最后一行 输入 */60 * * * * sh /home/pi/Desktop/check.sh 保存,退出,此时会显示  installing new crontab /60的意思是间隔60分钟,也可以/1,就是间隔1分钟 在check.sh中写上 echo "Current time: `date '+%F %T'`."  >> ip