您的位置:首页 > 编程语言 > Python开发

电子邮件发送-python

2015-12-16 20:39 429 查看
example.py

#!/usr/bin/python
# -*- coding: utf-8 -*-
# Import smtplib for the actual sending function
import smtplib, threading, sys, getpass

# Import the email modules we'll need
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
import email.encoders
from email.utils import COMMASPACE

class BabyMailMessage(MIMEMultipart):
def __init__(self, version):
MIMEMultipart.__init__(self)
path = "."
docfileNameHead = "摄像头固件测试申请表_"
docinfo = "摄像头 "
self.version = version
text = MIMEText(docinfo + self.version, _charset="utf-8")
self.attach(text)

file = open(path + "/" + docfileNameHead + self.version + ".doc", "r")
part = MIMEBase("application", "octet-stream")
part.set_payload(file.read())
email.encoders.encode_base64(part)
part.add_header("Content-Disposition", "attachment", filename=("utf-8","",docfileNameHead + self.version + ".doc"))
self.attach(part)
file.close()

#        file = open(path + "/img/" + self.version + ".m2.img", "r")
#        part = MIMEBase("application", "octet-stream")
#        part.set_payload(file.read())
#        email.encoders.encode_base64(part)
#        part.add_header("Content-Disposition", "attachment", filename=("utf-8","",self.version + ".m2.img"))
#        self.attach(part)
#        file.close()
#
#        file = open(path + "/img/" + self.version + ".m3s.img", "r")
#        part = MIMEBase("application", "octet-stream")
#        part.set_payload(file.read())
#        email.encoders.encode_base64(part)
#        part.add_header("Content-Disposition", "attachment", filename=("utf-8","",self.version + ".m3s.img"))
#        self.attach(part)
#        file.close()

class MailBox(threading.Thread):
def __init__(self, version):
threading.Thread.__init__(self)
self.version = version
def run(self):
s = smtplib.SMTP("smtpcom.263xmail.com")
if not s:
print "cannot connect server"
return
usrname = raw_input("please input login name: ")
password = getpass.getpass("please input password: ")
try:
s.login(usrname, password)
except:
print "login error"
return

frommail = "lala@lala.com"
tomail = ["lalag@lala.com"]
cmail = ["lala@lala.com"]
other = [] #密送
try:
msg = BabyMailMessage(self.version) #特殊的邮箱内容
except:
print "create email error"
s.quit()
return
msg['Subject'] = 'camera image: ' + self.version
msg['From'] = frommail
msg['To'] = COMMASPACE.join(tomail)
msg['Cc'] = COMMASPACE.join(cmail)
try:
print "begin send email"
s.sendmail(frommail, tomail + cmail + other, msg.as_string())
print "email send success"
except:
print "send email error"
s.quit()

def main(argv):
if len(argv) == 2:
box = MailBox(argv[1])
box.run()

if __name__ == "__main__":
main(sys.argv)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 电子邮件