def send_email(self, bcc=False): # send email using the self.cleaned_data dictionary # get this message old_message = self.instance # get this thread thread = old_message.thread house_id = "" try: house_id = thread.messages[ 0].receiver.home_owner_profile.house.all()[0].pk except: pass # Create a new message instance message = Message(text="", sender=old_message.receiver, receiver=old_message.sender, thread=thread) message.save() text_with_header = insert_response_url_header( key=message.key, text=self.cleaned_data['text']) message.text = text_with_header message.save() # send bcc_email = None if bcc: bcc_email = old_message.receiver.email try: con = SMTPConnection() success = con.send_email( recipient_address=message.receiver.email, subject="Greendoors Communications [House {0}]".format( house_id), body=message.text, bcc=bcc_email) except SMTPRecipientsRefused: logger.error("Email sending refused for message {0}".format( message.pk)) if success: message.sent = True message.save()