Entry
How to send binary file attachment?
Jul 5th, 2000 10:03
Nathan Wallace, Hans Nowak, Snippet 372, Oleg Broytmann
"""
Packages: networking.mail
"""
#! /usr/local/bin/python -O
import sys, os, string
from mimetools import choose_boundary
from MimeWriter import MimeWriter
import base64
try:
from cStringIO import StringIO
except ImportError:
from StringIO import StringIO
def gen_mime(zip_file):
email_from = "Oleg Broytmann <some@email.addy>"
email_to = "you@your.some.host"
#sendmail = open("sendmail", 'w')
sendmail = os.popen("/usr/sbin/sendmail '%s'" % email_to, 'w')
sendmail.write("""From: %s
To: %s
Subject: %s
Precedence: bulk
MIME-Version: 1.0
""" % (email_from, email_to, zip_file))
mime = MimeWriter(sendmail)
firstpart = mime.startmultipartbody("related")
firstpart.write("""\
Your mailer does not support MIME encoding. Please upgarde to MIME-enabled
mailer (almost every modern mailer is MIME-capable).""")
subwriter = mime.nextpart()
subwriter.addheader("Content-Transfer-Encoding", "base64")
subwriter.addheader("Content-Disposition", "inline; filename=\"%s\"" % zip_file)
subwriter.startbody("application/zip")
zip_file = open(zip_file, 'r')
base64.encode(StringIO(zip_file.read()), sendmail)
zip_file.close()
mime.lastpart()
sendmail.close()
def run():
zip_file = sys.argv[1]
gen_mime(zip_file)
if __name__ == '__main__':
run()