Exemplo n.º 1
0
class SMTPMailer(object):

    def __init__(self, contents):
        self.message = MessageParser(contents)

    def send(self, settings):
        smtp = smtplib.SMTP()
        smtp.set_debuglevel(0)
        smtp.connect(settings["smtp_server"], settings["use_port"])
        smtp.ehlo()
        if settings["smtp_tls"]:
            smtp.starttls()
            smtp.ehlo()
            smtp.login(settings["smtp_username"], settings["smtp_password"])
        self.message.begin_parsing()
        try:
            for recipient in self.message.recipients:
                smtp.sendmail(self.message.sender, recipient, self.message.body)
        except Exception as error:
            print error
        finally:
            smtp.close()
class testMessageParser(unittest.TestCase):

    def setUp(self):
        f = open("tests.txt", 'r')
        data = f.read()
        self.mp = MessageParser(data)
        self.parse_result = self.mp.begin_parsing()

    def testBeginParser(self):
        self.assertEqual(self.parse_result, True)

    def testParseSender(self):
        self.assertEqual(self.mp.sender, "*****@*****.**")

    def testParseRecipients(self):
        self.assertEqual(self.mp.recipients, ["*****@*****.**",
            "*****@*****.**",
            "*****@*****.**"])

    def testParseBody(self):
        self.assertEqual(self.mp.body, "This is the mail\n")