Python发送邮件的类
综合网上查到的内容,写的Python发送邮件的类。附件部分还没写好,主要是附件的文件名部分还不对。
#!/usr/bin/env python
# coding:utf-8
import email
import smtplib
class Mailer:
def __init__(self, smtp_host, smtp_user, smtp_passwd, smtp_port = 25) :
self.smtp_host = smtp_host
self.smtp_user = smtp_user
self.smtp_passwd = smtp_passwd
self.smtp_port = smtp_port
self.mail = email.MIMEMultipart.MIMEMultipart('main')
self.attachments = []
def mailfrom(self, mail_from) :
self._from = mail_from
self.mail['from'] = mail_from
def mailto(self, mail_to) :
"""
mail_to : comma separated emails or a list
"""
if type(mail_to) == list:
self.mail['to'] = ','.join(mail_to)
self._to = mail_to
elif type(mail_to) == str :
self.mail['to'] = mail_to
if mail_to.find(',') > 0 :
self._to = [s.strip() for s in mail_to.split(',')]
else :
self._to = mail_to
else :
raise Exception('invalid mail to')
def mailsubject(self, mail_subject) :
self.mail['subject'] = mail_subject
def mailbody(self, mail_body) :
self.mail.attach(email.MIMEText.MIMEText(mail_body, 'plain', 'utf-8'))
def addattach(self, filepath, mime_type = 'octect-stream', rename = None) :
import os
f = open(filepath, 'rb')
filecontent = f.read()
f.close()
mb = email.MIMEBase.MIMEBase('application', mime_type)
mb.set_payload(filecontent)
email.Encoders.encode_base64(mb)
fn = os.path.basename(filepath)
self.mail.add_header('Content-Disposition', 'attachment', filename = rename or fn)
self.mail.attach(mb)
def send(self):
self.mail['Date'] = email.Utils.formatdate( )
相关文档:
简单加密,用python来写写。
#coding=utf-8
'''
Description: 可逆的加密与解密
Environment: python2.5.x
Author:idehong@gmail.com
'''
import os
import sys
class Code(object):
'''可逆的加密与解密'''
def __init__(self, key = "idehong@gmail.com"):
self.__src_key ......
python 中minidom解析xml
2009年06月26日 星期五 08:40
下面只列出一些常用的方法属性,如果要查看更多的方法, 可以去看文件minidom如何实现的。
获得Document对象
法一:
import xml.dom.minidom as m_dom
doc1 = m_dom.getDOMImplementation().createDocument(None, "root1", None)
doc1.documentElement.toxml(e ......
一颗语法糖——装饰器
理论不去管,只管能办事:
1. 我要让一个函数在执行的时候,去做一些事情,比如,我要看看这些函数是不是有docstring,将这个功能拿出来,定义一个装饰器:
def showmedoc(func):
if func.__doc__:
& ......
用Python导出QQ空间的日志到WordPress
文章来源:http://www.keakon.cn/bbs/thread-964-1-1.html方法很简单,找出日志的地址,再遍历列出日志的内容。
因为单纯导出没用,还得转换成其他格式,所以我保存到一个列表里,每篇日志都对应其中的一个字典元素,字典的属性都用unicode编码。
然后dump出来,可以方便以后用Pyth ......