summaryrefslogtreecommitdiff
path: root/lib/utils/email_multipart.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/utils/email_multipart.py')
-rw-r--r--lib/utils/email_multipart.py80
1 files changed, 0 insertions, 80 deletions
diff --git a/lib/utils/email_multipart.py b/lib/utils/email_multipart.py
deleted file mode 100644
index 4c2e154..0000000
--- a/lib/utils/email_multipart.py
+++ /dev/null
@@ -1,80 +0,0 @@
-# -*- coding: utf-8 -*-
-
-# Sending html emails in Django
-# Report any bugs to esat @t sleytr*net
-# Evren Esat Ozkan
-
-
-from feedparser import _sanitizeHTML
-from stripogram import html2text
-
-from django.conf import settings
-from django.template import loader, Context
-
-from email.MIMEMultipart import MIMEMultipart
-from email.MIMEText import MIMEText
-from email.MIMEImage import MIMEImage
-from smtplib import SMTP
-import email.Charset
-
-
-charset='utf-8'
-
-
-email.Charset.add_charset( charset, email.Charset.SHORTEST, None, None )
-
-def htmlmail(sbj,recip,msg,template='',texttemplate='',textmsg='',images=(), recip_name='',sender=settings.DEFAULT_FROM_EMAIL,sender_name='',charset=charset):
- '''
- if you want to use Django template system:
- use `msg` and optionally `textmsg` as template context (dict)
- and define `template` and optionally `texttemplate` variables.
- otherwise msg and textmsg variables are used as html and text message sources.
-
- if you want to use images in html message, define physical paths and ids in tuples.
- (image paths are relative to MEDIA_ROOT)
- example:
- images=(('email_images/logo.gif','img1'),('email_images/footer.gif','img2'))
- and use them in html like this:
- <img src="cid:img1">
- ...
- <img src="cid:img2">
- '''
- html=render(msg,template)
- if texttemplate or textmsg: text=render((textmsg or msg),texttemplate)
- else: text= html2text(_sanitizeHTML(html,charset))
-
- msgRoot = MIMEMultipart('related')
- msgRoot['Subject'] = sbj
- msgRoot['From'] = named(sender,sender_name)
- msgRoot['To'] = named(recip,recip_name)
- msgRoot.preamble = 'This is a multi-part message in MIME format.'
-
- msgAlternative = MIMEMultipart('alternative')
- msgRoot.attach(msgAlternative)
-
- msgAlternative.attach(MIMEText(text, _charset=charset))
- msgAlternative.attach(MIMEText(html, 'html', _charset=charset))
-
- for img in images:
- fp = open(img[0], 'rb')
- msgImage = MIMEImage(fp.read())
- fp.close()
- msgImage.add_header('Content-ID', '<'+img[1]+'>')
- msgRoot.attach(msgImage)
-
- smtp = SMTP()
- smtp.connect(settings.EMAIL_HOST)
- smtp.login(settings.EMAIL_HOST_USER , settings.EMAIL_HOST_PASSWORD)
- smtp.sendmail(sender, recip, msgRoot.as_string())
- smtp.quit()
-
-
-def render(context,template):
- if template:
- t = loader.get_template(template)
- return t.render(Context(context))
- return context
-
-def named(mail,name):
- if name: return '%s <%s>' % (name,mail)
- return mail \ No newline at end of file