Ejemplo n.º 1
0
    def resetConf(self):
        try:
            serialized = self.mainwindow.init_call('antispam', 'getAntispamConfig')
            self.spam_config = AntispamConf.deserialize(serialized)
        except:
            self.spam_config = None

        mail_inst = QMailObject.getInitializedInstance(self.client)
        self.antivirus_enable.setChecked(mail_inst.mailcfg.use_antivirus)

        if self.spam_config is not None:
            self.antispam_enable.setChecked(self.spam_config.use_antispam)
            self.mark_spam_level.setValue(self.spam_config.mark_spam_level)
            self.mark_spam_level.setMaximumWidth(self.mark_spam_level.fontMetrics().averageCharWidth() * 10)
            self.deny_spam_level.setValue(self.spam_config.deny_spam_level)
            self.deny_spam_level.setMaximumWidth(self.deny_spam_level.fontMetrics().averageCharWidth() * 10)
            if not self.spam_config.use_antispam:
                self.mark_spam_level.setEnabled(False)
                self.deny_spam_level.setEnabled(False)

        relayed_domains_data = []
        for domain, ip in mail_inst.mailcfg.relay_domain_in.iteritems():
            relayed_domains_data.append([domain, ip])
        self.relayed_domains.reset(relayed_domains_data)

        self.relayed_net.setIpAddrs(mail_inst.mailcfg.relay_net_out)
Ejemplo n.º 2
0
    def setSmarthost(self, value):
        self.setModified(isModified=True)
        mail_inst = QMailObject.getInstance()
        mail_inst.pre_modify()
        mail_inst.mailcfg.smarthost = unicode(value)
        mail_inst.post_modify()

        # Notify exim page of modification
        mail = self.mainwindow.getPage('exim')
        mail.setMailModified(True)
Ejemplo n.º 3
0
    def updateOutgoingNetworks(self):
        nets = []
        for net in self.relayed_net.value():
            net = unicode(net)
            nets.append(IP(net))

        mail_inst = QMailObject.getInstance()
        mail_inst.pre_modify()
        mail_inst.mailcfg.relay_net_out = nets
        mail_inst.post_modify()
Ejemplo n.º 4
0
    def updateConfig(self):
        entries = {}
        for domain, ip in self.relayed_domains.rawData():
            domain = unicode(domain)
            ip = unicode(ip)
            if entries.has_key(domain):
                QMessageBox.warning(self, tr('incoming emails: invalid entries'),
                    tr('Each domain must be unique (%s)') % unicode(domain))
            else:
                entries[domain] = ip

        mail_inst = QMailObject.getInstance()
        mail_inst.pre_modify()
        mail_inst.mailcfg.relay_domain_in = entries
        mail_inst.post_modify()
Ejemplo n.º 5
0
    def resetConf(self):
        self._modified = False

        serialized = self.mainwindow.init_call("contact", u'getContactConfig')
        self.config = ContactConf.deserialize(serialized)

        self.admin_mail.setText(self.config.admin_mail)
        self.sender_mail.setText(self.config.sender_mail)

        if self.config.language in ContactConf.CODE_TO_NAME:
            lang_id = self.language.findText(ContactConf.CODE_TO_NAME[self.config.language])
            self.language.setCurrentIndex(lang_id)

        smarthost = QMailObject.getInitializedInstance(self.client).mailcfg.smarthost
        self.use_smarthost.setChecked(bool(smarthost))
        self.mail_relay.setEnabled(self.use_smarthost.isChecked())
        self.mail_relay.setText(smarthost)
        self.smarthost_group.setVisible(True)
Ejemplo n.º 6
0
    def saveConf(self, message):
        assert self.spam_modified or self.mail_modified

        self.updateOutgoingNetworks()

        saveCalls = Multicall(self.client)

        # if needed: save antispam config, next mail config
        if self.spam_config is not None and self.spam_modified:
            saveCalls.addCall('antispam', "setAntispamConfig", self.spam_config.serialize(downgrade=True), message)

        if self.mail_modified:
            saveCalls.addCall('exim', "setMailConfig", QMailObject.getInstance().mailcfg.serialize(downgrade=True), message)

        saveCalls()

        self.mainwindow.addToInfoArea(tr("email configuration saved"))
        self.mail_modified = False
        self.spam_modified = False
Ejemplo n.º 7
0
 def setAntivirusEnabled(self, value):
     self.setMailModified()
     mail_inst = QMailObject.getInstance()
     mail_inst.pre_modify()
     mail_inst.mailcfg.use_antivirus = bool(value)
     mail_inst.post_modify()
Ejemplo n.º 8
0
 def isValid(self):
     is_valid, self.error_message = QMailObject.getInstance().mailcfg.isValid()
     if is_valid:
         is_valid, self.error_message = self.spam_config.isValid()
     return is_valid