python 写的一个邮件发天气信息的功能
python 写的一个邮件发天气信息的功能
#!/usr/bin/python #coding:utf-8 import urllib import re #import MySQLdb from datetime import * import smtplib from email.header import Header from email.mime.text import MIMEText import sys mail_host = 'smtp.163.com' mail_user = '##########' mail_pass = '##########' mail_postfix = '163.com' def send_mail(to_list,subject,content): me = mail_user+"<"+mail_user+"@"+mail_postfix+">" msg = MIMEText(content) msg['Subject'] = subject msg['From'] = me msg['to'] = 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 def Weather(name,pro,city=0): today = date.today() if city == 0: uip = urllib.urlopen('http://qq.ip138.com/weather/%s/index.html' %pro) else: uip = urllib.urlopen('http://qq.ip138.com/weather/%s/%s.html' %(pro,city)) fip = uip.read() rip = re.compile(r"%s(.*)</b><br/>(.*)<br/>(.*)<br/><br/><b>"%today) result = re.search(rip,fip).group(1) weath = result.replace('</b>',' ').replace('<br/>',' ').replace('<b>',' ') s = weath.split(' ')[1:5] str = '''dear %s: %s %s %s %s ''' %(name,today,s[0],s[2],s[3]) return str if __name__ == "__main__": with open('user.txt') as f: for i in f.readlines(): name = i.split()[1] pro = i.split()[2] 11,0-1 Top if len(i.split()) == 4: city = i.split()[3] send_mail(mail,'today weather',Weather(name,pro,city)) else: send_mail(mail,'today weather',Weather(name,pro))
邮箱地址就不暴露了。
评论关闭