aboutsummaryrefslogtreecommitdiffstats
path: root/97suifangqa/apps/sfaccount/functional/mail.py
diff options
context:
space:
mode:
Diffstat (limited to '97suifangqa/apps/sfaccount/functional/mail.py')
-rw-r--r--97suifangqa/apps/sfaccount/functional/mail.py45
1 files changed, 45 insertions, 0 deletions
diff --git a/97suifangqa/apps/sfaccount/functional/mail.py b/97suifangqa/apps/sfaccount/functional/mail.py
new file mode 100644
index 0000000..30b1701
--- /dev/null
+++ b/97suifangqa/apps/sfaccount/functional/mail.py
@@ -0,0 +1,45 @@
+# -*- coding: utf-8 -*-
+
+import smtplib
+
+from email.mime.text import MIMEText
+from email.mime.multipart import MIMEMultipart
+
+
+def send_mail_multipart(host,
+ port,
+ username,
+ password,
+ mail_from,
+ mail_to,
+ subject,
+ content_text=None,
+ content_html=None,
+ display_from=None):
+ # create message container
+ # correct MIME type is 'multipart/alternative'
+ msg = MIMEMultipart('alternative')
+ # from & to
+ msg['From'] = display_from or mail_from
+ if isinstance(mail_to, (list, tuple)):
+ msg['To'] = ', '.join(mail_to)
+ else:
+ msg['To'] = mail_to
+ # subject
+ msg['Subject'] = subject
+ # body (utf-8 encode required)
+ if isinstance(content_text, unicode):
+ content_text = content_text.encode('utf-8')
+ if isinstance(content_html, unicode):
+ content_html = content_html.encode('utf-8')
+ text_part = MIMEText(content_text, 'plain')
+ html_part = MIMEText(content_html, 'html')
+ msg.attach(text_part)
+ msg.attach(html_part)
+ # send
+ s = smtplib.SMTP()
+ s.connect(host, port)
+ s.login(username, password)
+ s.sendmail(mail_from, mail_to, msg.as_string())
+ s.quit()
+