Esempio n. 1
0
    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()