Exemplo n.º 1
0
              "INNER JOIN admin_domain AS dom "
              "ON rdom.domain_id=dom.id "
              "INNER JOIN admin_mailbox AS mbox ON dom.id=mbox.domain_id "
              "INNER JOIN core_user AS u ON mbox.user_id=u.id "
              "WHERE dom.enabled=1 AND dom.name='%d' AND u.is_active=1 "
              "AND mbox.address='%u'")


class RelayRecipientVerification(object):
    """A map file to enable recipient verification."""

    filename = "sql-relay-recipient-verification.cf"
    mysql = ("SELECT 'reject_unverified_recipient' "
             "FROM postfix_relay_domains_relaydomain AS rdom "
             "INNER JOIN admin_domain AS dom ON rdom.domain_id=dom.id "
             "WHERE rdom.verify_recipients=1 AND dom.name='%d'")
    postgres = ("SELECT 'reject_unverified_recipient' "
                "FROM postfix_relay_domains_relaydomain AS rdom "
                "INNER JOIN admin_domain AS dom ON rdom.domain_id=dom.id "
                "WHERE rdom.verify_recipients AND dom.name='%d'")
    sqlite = ("SELECT 'reject_unverified_recipient' "
              "FROM postfix_relay_domains_relaydomain AS rdom "
              "INNER JOIN admin_domain AS dom ON rdom.domain_id=dom.id "
              "WHERE rdom.verify_recipients=1 AND dom.name='%d'")


registry.add_files([
    RelayDomainsMap, RelayDomainsTransportMap, SplitedDomainsTransportMap,
    RelayRecipientVerification
])
Exemplo n.º 2
0
class RelayRecipientVerification(object):

    """A map file to enable recipient verification."""

    filename = "sql-relay-recipient-verification.cf"
    mysql = (
        "SELECT 'reject_unverified_recipient' "
        "FROM postfix_relay_domains_relaydomain AS rdom "
        "INNER JOIN admin_domain AS dom ON rdom.domain_id=dom.id "
        "WHERE rdom.verify_recipients=1 AND dom.name='%d'"
    )
    postgres = (
        "SELECT 'reject_unverified_recipient' "
        "FROM postfix_relay_domains_relaydomain AS rdom "
        "INNER JOIN admin_domain AS dom ON rdom.domain_id=dom.id "
        "WHERE rdom.verify_recipients AND dom.name='%d'"
    )
    sqlite = (
        "SELECT 'reject_unverified_recipient' "
        "FROM postfix_relay_domains_relaydomain AS rdom "
        "INNER JOIN admin_domain AS dom ON rdom.domain_id=dom.id "
        "WHERE rdom.verify_recipients=1 AND dom.name='%d'"
    )


registry.add_files([
    RelayDomainsMap, RelayDomainsTransportMap, SplitedDomainsTransportMap,
    RelayRecipientVerification
])
"""Map file definitions for postfix."""

from modoboa.core.commands.postfix_maps import registry


class TransportMap(object):

    """A transport map for autoreply aliases."""

    filename = "sql-autoreplies-transport.cf"
    mysql = "SELECT method FROM postfix_autoreply_transport WHERE domain='%s'"
    postgres = (
        "SELECT method FROM postfix_autoreply_transport WHERE domain='%s'"
    )
    sqlite = "SELECT method FROM postfix_autoreply_transport WHERE domain='%s'"


registry.add_files([TransportMap])
Exemplo n.º 4
0
    """Map file to list authorized sender addresses (from aliases)."""

    filename = "sql-sender-login-aliases.cf"
    mysql = (
        "SELECT concat(mb.address, '@', dom.name) FROM admin_mailbox mb "
        "INNER JOIN modoboa_admin_aliasrecipient alr ON alr.r_mailbox_id=mb.id"
        " INNER JOIN admin_domain dom ON dom.id=mb.domain_id"
        " INNER JOIN admin_alias al ON alr.alias_id=al.id "
        "WHERE al.enabled=1 AND al.address='%s'"
    )
    postgres = (
        "SELECT mb.address || '@' || dom.name FROM admin_mailbox mb "
        "INNER JOIN modoboa_admin_aliasrecipient alr ON alr.r_mailbox_id=mb.id"
        " INNER JOIN admin_domain dom ON dom.id=mb.domain_id"
        " INNER JOIN admin_alias al ON alr.alias_id=al.id "
        "WHERE al.enabled AND al.address='%s'"
    )
    sqlite = (
        "SELECT mb.address || '@' || dom.name FROM admin_mailbox mb "
        "INNER JOIN modoboa_admin_aliasrecipient alr ON alr.r_mailbox_id=mb.id"
        " INNER JOIN admin_domain dom ON dom.id=mb.domain_id"
        " INNER JOIN admin_alias al ON alr.alias_id=al.id "
        "WHERE al.enabled=1 AND al.address='%s'"
    )

registry.add_files([
    DomainsMap, DomainsAliasesMap, AliasesMap, MaintainMap,
    SenderLoginAliasMap, SenderLoginMailboxMap
])
Exemplo n.º 5
0
    mysql = ("SELECT email FROM core_user WHERE email='%s' AND is_active=1 ")
    postgres = ("SELECT email FROM core_user WHERE email='%s' AND is_active")
    sqlite = ("SELECT email FROM core_user WHERE email='%s' AND is_active=1")


class SenderLoginAliasMap(object):
    """Map file to list authorized sender addresses (from aliases)."""

    filename = "sql-sender-login-aliases.cf"
    mysql = ("SELECT concat(mb.address, '@', dom.name) FROM admin_mailbox mb "
             "INNER JOIN admin_aliasrecipient alr ON alr.r_mailbox_id=mb.id"
             " INNER JOIN admin_domain dom ON dom.id=mb.domain_id"
             " INNER JOIN admin_alias al ON alr.alias_id=al.id "
             "WHERE al.enabled=1 AND al.address='%s'")
    postgres = ("SELECT mb.address || '@' || dom.name FROM admin_mailbox mb "
                "INNER JOIN admin_aliasrecipient alr ON alr.r_mailbox_id=mb.id"
                " INNER JOIN admin_domain dom ON dom.id=mb.domain_id"
                " INNER JOIN admin_alias al ON alr.alias_id=al.id "
                "WHERE al.enabled AND al.address='%s'")
    sqlite = ("SELECT mb.address || '@' || dom.name FROM admin_mailbox mb "
              "INNER JOIN admin_aliasrecipient alr ON alr.r_mailbox_id=mb.id"
              " INNER JOIN admin_domain dom ON dom.id=mb.domain_id"
              " INNER JOIN admin_alias al ON alr.alias_id=al.id "
              "WHERE al.enabled=1 AND al.address='%s'")


registry.add_files([
    DomainsMap, DomainsAliasesMap, AliasesMap, MaintainMap,
    SenderLoginAliasMap, SenderLoginMailboxMap
])
"""Map file definitions for postfix."""

from modoboa.core.commands.postfix_maps import registry


class TransportMap(object):
    """A transport map for autoreply aliases."""

    filename = "sql-autoreplies-transport.cf"
    mysql = "SELECT method FROM postfix_autoreply_transport WHERE domain='%s'"
    postgres = (
        "SELECT method FROM postfix_autoreply_transport WHERE domain='%s'")
    sqlite = "SELECT method FROM postfix_autoreply_transport WHERE domain='%s'"


class AutoRepliesMap(object):
    """A map file to list all autoreply aliases."""

    filename = 'sql-autoreplies.cf'
    mysql = ("SELECT full_address, autoreply_address "
             "FROM postfix_autoreply_alias WHERE full_address='%s'")
    postgres = ("SELECT full_address, autoreply_address "
                "FROM postfix_autoreply_alias WHERE full_address='%s'")
    sqlite = ("SELECT full_address, autoreply_address "
              "FROM postfix_autoreply_alias WHERE full_address='%s'")


registry.add_files([TransportMap, AutoRepliesMap])
Exemplo n.º 7
0
        "INNER JOIN admin_domain dom ON al.domain_id=dom.id "
        "INNER JOIN admin_alias_mboxes al_mb ON al.id=al_mb.alias_id "
        "WHERE al.enabled=1 AND al.address='*' AND dom.name='%d' AND "
        "dom.enabled=1)"
    )
    postgres = (
        "SELECT mb.address || '@' || dom.name FROM admin_mailbox mb "
        "INNER JOIN admin_domain dom ON mb.domain_id=dom.id "
        "WHERE mb.id IN (SELECT al_mb.mailbox_id FROM admin_alias al "
        "INNER JOIN admin_domain dom ON al.domain_id=dom.id "
        "INNER JOIN admin_alias_mboxes al_mb ON al.id=al_mb.alias_id "
        "WHERE al.enabled AND al.address='*' AND dom.name='%d' AND "
        "dom.enabled)"
    )
    sqlite = (
        "SELECT mb.address || '@' || dom.name FROM admin_mailbox mb "
        "INNER JOIN admin_domain dom ON mb.domain_id=dom.id "
        "WHERE mb.id IN (SELECT al_mb.mailbox_id FROM admin_alias al "
        "INNER JOIN admin_domain dom ON al.domain_id=dom.id "
        "INNER JOIN admin_alias_mboxes al_mb ON al.id=al_mb.alias_id "
        "WHERE al.enabled=1 AND al.address='*' AND dom.name='%d' AND "
        "dom.enabled=1)"
    )

registry.add_files([
    DomainsMap, DomainsAliasesMap, AliasesMap, DomainAliasesMailboxesMap,
    MailboxesSelfAliasesMap, CatchallAliasesMap, MaintainMap,
    SenderLoginAliasMap, SenderLoginMailboxMap, SenderLoginDomainAliasMap,
    SenderLoginDomainCatchallAliasMap
])
    """A transport map for autoreply aliases."""

    filename = "sql-autoreplies-transport.cf"
    mysql = "SELECT method FROM postfix_autoreply_transport WHERE domain='%s'"
    postgres = (
        "SELECT method FROM postfix_autoreply_transport WHERE domain='%s'"
    )
    sqlite = "SELECT method FROM postfix_autoreply_transport WHERE domain='%s'"


class AutoRepliesMap(object):

    """A map file to list all autoreply aliases."""

    filename = 'sql-autoreplies.cf'
    mysql = (
        "SELECT full_address, autoreply_address "
        "FROM postfix_autoreply_alias WHERE full_address='%s'"
    )
    postgres = (
        "SELECT full_address, autoreply_address "
        "FROM postfix_autoreply_alias WHERE full_address='%s'"
    )
    sqlite = (
        "SELECT full_address, autoreply_address "
        "FROM postfix_autoreply_alias WHERE full_address='%s'"
    )


registry.add_files([TransportMap, AutoRepliesMap])