def send_email(self, toaddr, fromaddr, subject, body):
     msg = MIMEMultipart()
     msg['Subject'] = subject
     msg['To'] = toaddr
     msg['From'] = fromaddr
     msg.attach(MIMEText(body, 'plain'))
     server = smtplib.SMTP(self.cfg['smtp'], self.cfg['port'])
     server.starttls()
     server.login(fromaddr, self.cfg['pass'])
     server.sendmail(msg.get('From'), msg['To'], msg.as_string())
     server.quit()
     server.close()
示例#2
0
            if header_name == 'Subject':
                header_value = html_parser.unescape(header_value.decode('UTF-8'))
                header_value = email.header.Header(header_value, 'iso-8859-1').encode()

            if header_value:
                mail.add_header(header_name, header_value)

        mail.add_header('To', TO_ADDRESS)
        mail.add_header('Reply-to', TO_ADDRESS)
        mail.add_header('List-Id', TO_ADDRESS.replace('@', '.'))

        mail_id = email.utils.formataddr((None, '@'.join([email.utils.parseaddr(email.utils.make_msgid())[1].split('@')[0], TO_DOMAIN])))
        mail.add_header('Message-ID', mail_id)

        # Topic specific actions
        if is_topic:
            imported_topics[message_data['msg_id']] = mail

        # Reply specific actions
        else:
            topic_mail = imported_topics[message_data['topic_id']]
            topic_mail_id = topic_mail.get('Message-ID')
            mail.add_header('In-Reply-To', topic_mail_id)
            mail.add_header('References', topic_mail_id)
            if not mail.get('Subject'):
                mail.add_header('Subject', "Re: %s" % topic_mail.get('Subject'))

        mbox.add(mailbox.mboxMessage(mail))

        print "Added: %s, %s, %s" % (message_data.get('Date', None), mail.get('From'), mail.get('Subject'))
示例#3
0
                mail.add_header(header_name, header_value)

        mail.add_header('To', TO_ADDRESS)
        mail.add_header('Reply-to', TO_ADDRESS)
        mail.add_header('List-Id', TO_ADDRESS.replace('@', '.'))

        mail_id = email.utils.formataddr((None, '@'.join([
            email.utils.parseaddr(email.utils.make_msgid())[1].split('@')[0],
            TO_DOMAIN
        ])))
        mail.add_header('Message-ID', mail_id)

        # Topic specific actions
        if is_topic:
            imported_topics[message_data['msg_id']] = mail

        # Reply specific actions
        else:
            topic_mail = imported_topics[message_data['topic_id']]
            topic_mail_id = topic_mail.get('Message-ID')
            mail.add_header('In-Reply-To', topic_mail_id)
            mail.add_header('References', topic_mail_id)
            if not mail.get('Subject'):
                mail.add_header('Subject',
                                "Re: %s" % topic_mail.get('Subject'))

        mbox.add(mailbox.mboxMessage(mail))

        print "Added: %s, %s, %s" % (message_data.get(
            'Date', None), mail.get('From'), mail.get('Subject'))