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

来源:互联网 发布:淘宝访客忽然下降一半 编辑:程序博客网 时间:2024/05/23 13:16
接上:


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 = '你的邮箱账号,xxx@163.com'    ##发送的邮件          
        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 = 'xxxx@163.com'    ##发送的邮件  
        
        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 = ['xxxx@qq.com']          
    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了!

1 0
原创粉丝点击