发送EMail:

引入:

import smtplib
from email.Header import Header
from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText
import email.MIMEBase

 

1、

def getMailcontent(subject,text,attachfile=['']):
        main_msg = MIMEMultipart()
        file_list = attachfile

        text_msg = MIMEText(text)
        main_msg.attach(text_msg)

        for file_name in file_list:
                if file_name == '':
                        continue
                contype = 'application/octet-stream'
                maintype, subtype = contype.split('/', 1)

                data = open(file_name, 'rb')
                file_msg = email.MIMEBase.MIMEBase(maintype, subtype)
                file_msg.set_payload(data.read( ))
                data.close( )
                email.Encoders.encode_base64(file_msg)

                basename = os.path.basename(file_name)
                file_msg.add_header('Content-Disposition','attachment', filename = basename)
                main_msg.attach(file_msg)

        main_msg['subject'] = subject
        return main_msg.as_string()

2、

def sendmail(sender, mail_list, msg):
        server = smtplib.SMTP('smtpaddress')
        server.login('username', 'pwd')
        server.sendmail(sender, mail_list, msg)
        server.quit()

3、

subject = "test" 
content = "hello word~"
filelist = ['attach_path1', 'attach_path2']
msg = getMailcontent(subject, content, filelist) sendmail(sender, mail_list, msg)

 

改进版:

# -*- coding: utf-8 -*-
import smtplib
from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText
import email.MIMEBase
import os
import sys
reload(sys)
sys.setdefaultencoding("utf-8")


class EMail(object):

    def send(self, subject, content, recvers=["sudazhuang@jh*.com"]):
        server = smtplib.SMTP_SSL(host='smtp.exmail.qq.com', port=465)
        server.login('sudazhuang@jh*.com', '*oxAh**pbbOTfc2m')
        email = self.create_email(subject, content)
        server.sendmail("sudazhuang@jh*.com", recvers, email)
        server.quit()

    def create_email(self, subject, content, attachfile=None):
        main_msg = MIMEMultipart()

        if attachfile is None:
            attachfile = []

        file_list = attachfile
        text_msg = MIMEText(content)
        main_msg.attach(text_msg)

        for file_name in file_list:
            contype = 'application/octet-stream'
            maintype, subtype = contype.split('/', 1)

            data = open(file_name, 'rb')
            file_msg = email.MIMEBase.MIMEBase(maintype, subtype)
            file_msg.set_payload(data.read())
            data.close()
            email.Encoders.encode_base64(file_msg)

            basename = os.path.basename(file_name)
            file_msg.add_header('Content-Disposition', 'attachment', filename=basename)
            main_msg.attach(file_msg)

        main_msg['subject'] = subject
        return main_msg.as_string()

 

posted on 2015-02-09 13:11  闪电战  阅读(242)  评论(0)    收藏  举报