Merge branch 'hotfix'

This commit is contained in:
Anand Doshi 2016-04-20 20:12:34 +05:30
commit cdddec08a3
4 changed files with 23 additions and 17 deletions

View file

@ -1,2 +1,2 @@
from __future__ import unicode_literals
__version__ = "6.27.12"
__version__ = "6.27.13"

View file

@ -5,7 +5,8 @@ from __future__ import unicode_literals
import frappe
from frappe.utils.pdf import get_pdf
from frappe.email.smtp import get_outgoing_email_account
from frappe.utils import get_url, scrub_urls, strip, expand_relative_urls, cint, split_emails, to_markdown, markdown
from frappe.utils import (get_url, scrub_urls, strip, expand_relative_urls, cint,
split_emails, to_markdown, markdown, encode)
import email.utils
def get_email(recipients, sender='', msg='', subject='[No Subject]',
@ -176,7 +177,8 @@ class EMail:
def replace_sender(self):
if cint(self.email_account.always_use_account_email_id_as_sender):
self.original_sender = self.sender
self.set_header('X-Original-From', self.sender)
sender_name, sender_email = email.utils.parseaddr(self.sender)
self.sender = email.utils.formataddr((sender_name or self.email_account.name, self.email_account.email_id))
@ -190,28 +192,32 @@ class EMail:
def make(self):
"""build into msg_root"""
headers = {
"Subject": strip(self.subject).encode("utf-8"),
"From": self.sender.encode("utf-8"),
"To": ', '.join(self.recipients).encode("utf-8"),
"Subject": strip(self.subject),
"From": self.sender,
"To": ', '.join(self.recipients),
"Date": email.utils.formatdate(),
"Reply-To": self.reply_to.encode("utf-8") if self.reply_to else None,
"CC": ', '.join(self.cc).encode("utf-8") if self.cc else None,
b'X-Frappe-Site': get_url().encode('utf-8'),
"Reply-To": self.reply_to if self.reply_to else None,
"CC": ', '.join(self.cc) if self.cc else None,
'X-Frappe-Site': get_url(),
}
if cint(self.email_account.always_use_account_email_id_as_sender) and hasattr(self, 'original_sender'):
headers[b'X-Original-From'] = self.original_sender.encode('utf-8')
# reset headers as values may be changed.
for key, val in headers.iteritems():
if self.msg_root.has_key(key):
del self.msg_root[key]
self.msg_root[key] = val
self.set_header(key, val)
# call hook to enable apps to modify msg_root before sending
for hook in frappe.get_hooks("make_email_body_message"):
frappe.get_attr(hook)(self)
def set_header(self, key, value):
key = encode(key)
value = encode(value)
if self.msg_root.has_key(key):
del self.msg_root[key]
self.msg_root[key] = value
def as_string(self):
"""validate, build message and convert to string"""
self.validate()

View file

@ -5,7 +5,7 @@ app_publisher = "Frappe Technologies"
app_description = "Full stack web framework with Python, Javascript, MariaDB, Redis, Node"
app_icon = "octicon octicon-circuit-board"
app_version = "6.27.12"
app_version = "6.27.13"
app_color = "orange"
source_link = "https://github.com/frappe/frappe"
app_license = "MIT"

View file

@ -1,7 +1,7 @@
from setuptools import setup, find_packages
from pip.req import parse_requirements
version = "6.27.12"
version = "6.27.13"
requirements = parse_requirements("requirements.txt", session="")
setup(