Exemple #1
0
class EmailNotifier(BaseNotification):
    def __init__(self):
        self.settings = EmailSettings()

    def send_notification(self, tweets):
        self._refresh_settings()
        if not self.settings.isenabled:
            return

        try:
            server = smtplib.SMTP(
                self.settings.server,
                self.settings.serverport)
            server.ehlo()
            server.starttls()
            server.login(self.settings.user, self.settings.password)

            server.sendmail(
                self.settings.sender,
                [self.settings.receivers],
                self._getformattedmail(tweets))
            server.close()
        except:
            print(sys.exc_info()[0])

    def _getformattedmail(self, tweets):
        t = ''
        for tweet in tweets:
            t = t + str(tweet.text) + '\n'
        msg = MIMEMultipart()
        msg['From'] = self.settings.sender
        msg['To'] = self.settings.receivers
        msg['Subject'] = self.settings.subject
        msg.attach(MIMEText(
            self.settings.message.format(t).encode('utf-8'),
            'plain',
            'utf-8'))

        return msg.as_string()

    def _refresh_settings(self):
        self.settings.refresh()
Exemple #2
0
 def __init__(self):
     self.settings = EmailSettings()