コード例 #1
0
ファイル: alerts.py プロジェクト: jwplayer/rssalertbot
def alert_email(feed, cfg, entry):
    """Sends alert via email.

    Args:
        feed (:py:class:`Feed`): the feed
        cfg (dict):              output config
        entry (dict):            the feed entry
    """
    logger = logging.LoggerAdapter(log, extra = {
        'feed':  feed.name,
        'group': feed.group['name'],
    })

    logger.debug(f"[{feed.name}] Alerting email: {entry.title}")

    description = strip_html(entry.description)

    try:
        smtp = Mailer(host=cfg['server'])
        message = Message(charset="utf-8", From=cfg['from'], To=cfg['to'],
                          Subject = f"{feed.group['name']} Alert: ({feed.name}) {entry.title}")
        message.Body = f"Feed: {feed.name}\nDate: {entry.datestring}\n\n{description}"
        message.header('X-Mailer', 'rssalertbot')
        smtp.send(message)

    except Exception:
        logger.exception(f"[{feed.name}] Error sending mail")
コード例 #2
0
ファイル: test_message.py プロジェクト: dwoz/python-mailer
 def test_message_as_string(self):
     msg = Message(
         To='*****@*****.**',
         From='*****@*****.**',
         Subject='Test Message',
         Text='This is just a test message.',
         Html='<body><p>This is just a test message.</p></body>',
     )
     msg.header('Message-ID', make_msgid())
     s = msg.as_string()
     assert type(s) == str
コード例 #3
0
def alert_email(feed, cfg, entry):
    """Sends alert via email.

    Args:
        feed (:py:class:`Feed`): the feed
        cfg (dict):              output config
        entry (dict):            the feed entry
    """
    log.debug(f"Alerting email: {entry.title}")

    description = strip_html(entry.description)

    smtp = Mailer(host=cfg['server'])
    message = Message(
        charset="utf-8",
        From=cfg['from'],
        To=cfg['to'],
        Subject=f"{feed.group['name']} Alert: ({feed.name}) {entry.title}")
    message.Body = f"Feed: {feed.name}\nDate: {entry.datestring}\n\n{description}"
    message.header('X-Mailer', 'rssalertbot')
    smtp.send(message)