def test_030_test_smtp_settings(self): if remote_control.quickTestsOnly: raise unittest2.SkipTest('Skipping a time consuming test') # Test mail setting in config -> email -> outgoing server if (uvmContext.appManager().isInstantiated(self.appNameSpamCase())): print "smtp case present" else: print "smtp not present" uvmContext.appManager().instantiate(self.appNameSpamCase(), 1) appSP = uvmContext.appManager().app(self.appNameSpamCase()) origAppDataSP = appSP.getSmtpSettings() origMailsettings = uvmContext.mailSender().getSettings() # print appDataSP newMailsettings = copy.deepcopy(origMailsettings) newMailsettings['smtpHost'] = global_functions.testServerHost newMailsettings['smtpPort'] = "6800" newMailsettings['sendMethod'] = 'CUSTOM' uvmContext.mailSender().setSettings(newMailsettings) time.sleep(10) # give it time for exim to restart appDataSP = appSP.getSmtpSettings() appSP.setSmtpSettingsWithoutSafelists(appDataSP) recipient = global_functions.random_email() uvmContext.mailSender().sendTestMessage(recipient) time.sleep(2) # force exim to flush queue subprocess.call(["exim -qff >/dev/null 2>&1"],shell=True,stdout=None,stderr=None) time.sleep(10) uvmContext.mailSender().setSettings(origMailsettings) appSP.setSmtpSettingsWithoutSafelists(origAppDataSP) emailContext = remote_control.run_command("wget -q --timeout=5 -O - http://test.untangle.com/cgi-bin/getEmail.py?toaddress=" + recipient + " 2>&1" ,stdout=True) assert('Test Message' in emailContext)
def configure_mail_relay(): global orig_mailsettings, test_email_address test_email_address = global_functions.random_email() orig_mailsettings = uvmContext.mailSender().getSettings() new_mailsettings = copy.deepcopy(orig_mailsettings) new_mailsettings['sendMethod'] = 'DIRECT' new_mailsettings['fromAddress'] = test_email_address uvmContext.mailSender().setSettings(new_mailsettings)
def sendSpamMail(host=smtpServerHost, useTLS=False): mailResult = None randomAddress = global_functions.random_email() print("randomAddress: " + randomAddress) if useTLS: mailResult = remote_control.run_command("python mailsender.py [email protected] --to=" + randomAddress + " ./spam-mail/ --host=" + host + " --reconnect --series=30:0,150,100,50,25,0,180 --starttls", stdout=False, nowait=False) else: mailResult = remote_control.run_command("python mailsender.py [email protected] --to=" + randomAddress + " ./spam-mail/ --host=" + host + " --reconnect --series=30:0,150,100,50,25,0,180") return mailResult, randomAddress