def testDKIM(self): # give fuglu time to start listener time.sleep(1) inputfile = TESTDATADIR + '/helloworld.eml' msgstring = open(inputfile, 'r').read() dkimheader = sign(msgstring, 'whatever', 'testfuglu.org', open( TESTDATADIR + '/dkim/testfuglu.org.private').read(), include_headers=['From', 'To']) signedcontent = dkimheader + msgstring logbuffer = StringIO() self.assertTrue(verify(signedcontent, debuglog=logbuffer), "Failed DKIM verification immediately after signing %s" % logbuffer.getvalue()) # send test message try: smtpclient = smtplib.SMTP('127.0.0.1', DKIMTestCase.FUGLU_PORT) except Exception as e: self.fail("Could not connect to fuglu on port %s : %s" % (DKIMTestCase.FUGLU_PORT, str(e))) # smtpServer.set_debuglevel(1) smtpclient.helo('test.dkim') smtpclient.sendmail( '*****@*****.**', '*****@*****.**', signedcontent) smtpclient.quit() # verify the smtp server stored the file correctly tmpfile = self.smtp.tempfilename self.assertTrue(tmpfile != None, 'Send to dummy smtp server failed') result = open(tmpfile, 'r').read() logbuffer = StringIO() verify_ok = verify(result, debuglog=logbuffer) self.assertTrue( verify_ok, "Failed DKIM verification: %s" % logbuffer.getvalue())
def testDKIM(self): # give fuglu time to start listener time.sleep(1) inputfile = TESTDATADIR + '/helloworld.eml' msgstring = open(inputfile, 'r').read() dkimheader = sign(msgstring, 'whatever', 'testfuglu.org', open( TESTDATADIR + '/dkim/testfuglu.org.private').read(), include_headers=['From', 'To']) signedcontent = dkimheader + msgstring logbuffer = cStringIO.StringIO() self.assertTrue(verify(signedcontent, debuglog=logbuffer), "Failed DKIM verification immediately after signing %s" % logbuffer.getvalue()) # send test message try: smtpclient = smtplib.SMTP('127.0.0.1', DKIMTestCase.FUGLU_PORT) except Exception, e: self.fail("Could not connect to fuglu on port %s : %s" % (DKIMTestCase.FUGLU_PORT, str(e)))