Some useful python function

邮件发送

两个文件: config.py:配置信息   send_msg.py:发送邮件

 

 send_msg.py

#coding=utf-8

import smtplib,config,email,sys
from email.Message import Message

def connect():
    "connect to smtp server and return a smtplib.SMTP instance object"
    server=smtplib.SMTP(config.smtpserver,config.smtpport)
    server.ehlo()
    server.login(config.smtpuser,config.smtppass)
    return server
   
def sendmessage(server,to,subj,content):
    "using server send a email"
    msg = Message()
    msg['Mime-Version']='1.0'
    msg['From']    = config.smtpuser
    msg['To']      = to
    msg['Subject'] = subj
    msg['Date']    = email.Utils.formatdate()          # curr datetime, rfc2822
    msg.set_payload(content)
    try:   
        failed = server.sendmail(config.smtpuser,to,str(msg))   # may also raise exc
    except Exception ,ex:
        print Exception,ex
        print 'Error - send failed'
    else:
        print "send success!"

if __name__=="__main__":
    #frm=raw_input('From? ').strip()
    to=raw_input('To? ').strip()
    subj=raw_input('Subj? ').strip()  
    print 'Type message text, end with line="."'
    text = ''
    while True:
        line = sys.stdin.readline()
        if line == '. ': break
        text += line
    server=connect()
    sendmessage(server,to,subj,text)

   config.py

 

smtpserver='mail.xxxx.net'
smtpuser='user@xxx.net'
smtppass='pwd'
smtpport='25'
 

 

定时抓取网页内容

#!usr/bin/python

import urllib2,time;
class ErrorHandler(urllib2.HTTPDefaultErrorHandler):
    def http_error_default(self, req, fp, code, msg, headers):
        result = urllib2.HTTPError(req.get_full_url(), code, msg, headers, fp)
        result.status = code
        return result

URL='http://www.ibm.com/developerworks/js/ajax1.js'
req=urllib2.Request(URL)
mgr=urllib2.build_opener(ErrorHandler())

while True:
    ns=mgr.open(req)
    if(ns.headers.has_key('last-modified')):
        modified=ns.headers.get('last-modified')
    if(ns.code==304):
        print '''
              NOT MODIFIED
        '''
    elif(ns.code==200):
        print ns.read()
    else:
        print 'there is an error';
       
    if(not locals().has_key('modified')):
        modified=time.time();
    req.add_header('If-Modified-Since',modified)
    time.sleep(10)
 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值