"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 ])
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])
"""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 ])
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])
"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])