Merge pull request #1356 from anandpdoshi/email-cc-message
[fix] Show CC in the footer
This commit is contained in:
commit
4eafa9db25
3 changed files with 26 additions and 13 deletions
|
|
@ -132,9 +132,10 @@ class Communication(Document):
|
|||
def get_recipients_and_cc(self, recipients, cc, fetched_from_email_account=False):
|
||||
self.all_email_addresses = []
|
||||
self.sent_email_addresses = []
|
||||
self.previous_email_sender = None
|
||||
|
||||
if not recipients:
|
||||
recipients = self.get_recipients()
|
||||
recipients = self.get_recipients(fetched_from_email_account=fetched_from_email_account)
|
||||
|
||||
if not cc:
|
||||
cc = self.get_cc(recipients, fetched_from_email_account=fetched_from_email_account)
|
||||
|
|
@ -143,6 +144,10 @@ class Communication(Document):
|
|||
# email was already sent to the original recipient by the sender's email service
|
||||
original_recipients, recipients = recipients, []
|
||||
|
||||
# send email to the sender of the previous email in the thread which this email is a reply to
|
||||
if self.previous_email_sender:
|
||||
recipients.append(self.previous_email_sender)
|
||||
|
||||
# cc that was received in the email
|
||||
original_cc = split_emails(self.cc)
|
||||
|
||||
|
|
@ -206,11 +211,16 @@ class Communication(Document):
|
|||
{"default_outgoing": 1, "enable_outgoing": 1},
|
||||
["email_id", "always_use_account_email_id_as_sender"], as_dict=True) or frappe._dict()
|
||||
|
||||
def get_recipients(self):
|
||||
def get_recipients(self, fetched_from_email_account=False):
|
||||
"""Build a list of email addresses for To"""
|
||||
# [EDGE CASE] self.recipients can be None when an email is sent as BCC
|
||||
recipients = split_emails(self.recipients)
|
||||
|
||||
if fetched_from_email_account and self.in_reply_to:
|
||||
# add sender of previous reply
|
||||
self.previous_email_sender = frappe.db.get_value("Communication", self.in_reply_to, "sender")
|
||||
recipients.append(self.previous_email_sender)
|
||||
|
||||
if recipients:
|
||||
# exclude email accounts
|
||||
exclude = [d[0] for d in
|
||||
|
|
@ -235,10 +245,6 @@ class Communication(Document):
|
|||
cc += self.get_assignees()
|
||||
cc += self.get_starrers()
|
||||
|
||||
if fetched_from_email_account and self.in_reply_to:
|
||||
# add sender of previous reply
|
||||
cc.append(frappe.db.get_value("Communication", self.in_reply_to, "sender"))
|
||||
|
||||
if cc:
|
||||
# exclude email accounts, unfollows, recipients and unsubscribes
|
||||
exclude = [d[0] for d in
|
||||
|
|
|
|||
|
|
@ -83,7 +83,8 @@ def send(recipients=None, sender=None, subject=None, message=None, reference_doc
|
|||
expose_recipients=expose_recipients,
|
||||
unsubscribe_method=unsubscribe_method,
|
||||
unsubscribe_params=unsubscribe_params,
|
||||
unsubscribe_message=unsubscribe_message
|
||||
unsubscribe_message=unsubscribe_message,
|
||||
show_as_cc=show_as_cc
|
||||
)
|
||||
|
||||
email_content = email_content.replace("<!--unsubscribe link here-->", unsubscribe_link.html)
|
||||
|
|
@ -148,10 +149,17 @@ def check_bulk_limit(recipients):
|
|||
BulkLimitCrossedError)
|
||||
|
||||
def get_unsubscribe_link(reference_doctype, reference_name,
|
||||
email, recipients, expose_recipients, unsubscribe_method, unsubscribe_params, unsubscribe_message):
|
||||
email, recipients, expose_recipients, show_as_cc,
|
||||
unsubscribe_method, unsubscribe_params, unsubscribe_message):
|
||||
|
||||
unsubscribe_email = recipients if expose_recipients else [email]
|
||||
unsubscribe_email = _("This email was sent to {0}").format(", ".join(unsubscribe_email))
|
||||
email_sent_to = recipients if expose_recipients else [email]
|
||||
email_sent_cc = ", ".join([e for e in email_sent_to if e in show_as_cc])
|
||||
email_sent_to = ", ".join([e for e in email_sent_to if e not in show_as_cc])
|
||||
|
||||
if email_sent_cc:
|
||||
email_sent_message = _("This email was sent to {0} and copied to {1}").format(email_sent_to, email_sent_cc)
|
||||
else:
|
||||
email_sent_message = _("This email was sent to {0}").format(email_sent_to)
|
||||
|
||||
if not unsubscribe_message:
|
||||
unsubscribe_message = _("Unsubscribe from this list")
|
||||
|
|
@ -168,12 +176,12 @@ def get_unsubscribe_link(reference_doctype, reference_name,
|
|||
</p>
|
||||
</div>""".format(
|
||||
unsubscribe_url = unsubscribe_url,
|
||||
email=unsubscribe_email,
|
||||
email=email_sent_message,
|
||||
unsubscribe_message=unsubscribe_message
|
||||
)
|
||||
|
||||
text = "\n{email}\n\n{unsubscribe_message}: {unsubscribe_url}".format(
|
||||
email=unsubscribe_email,
|
||||
email=email_sent_message,
|
||||
unsubscribe_message=unsubscribe_message,
|
||||
unsubscribe_url=unsubscribe_url
|
||||
)
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@
|
|||
<body style="line-height: 1.5; color: #36414C;">
|
||||
<!-- body -->
|
||||
<div style="font-family: Helvetica, Arial, sans-serif; font-size: 14px; padding: 10px;">
|
||||
<em><!-- cc message --></em>
|
||||
{{ content }}
|
||||
{{ signature }}
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue