Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash -e
- #
- #: Filename : postfixadmin-postfix-setup.sh
- #: Title : Postfixadmin Postfix Setup
- #: Author : "Iarmin" <[email protected]>
- #: Version : 0.9
- #: Description : Setups the config files for postfix, when you using postfixadmin.
- #: Dependency : ( postfix, postfixadmin )
- #: Options : ./postfixadmin-postfix-setup.sh
- #
- MYSQL_USER=postfix
- MYSQL_PASS=asdasd
- MYSQL_DATABASE=postfix
- MYSQL_HOST=localhost
- POSTFIX_PATH="/etc/postfix"
- # REMOVE exit when you finished the configuration
- exit
- # --------------------------------------------------------------- #
- # postfix main.cf install
- maincf="$POSTFIX_PATH/main.cf"
- if grep 'virtual_mailbox_domains' "$maincf" -q; then
- echo Postfix already configured!
- exit
- fi
- echo "
- virtual_mailbox_domains = proxy:mysql:/etc/postfix/sql/mysql_virtual_domains_maps.cf
- virtual_alias_maps =
- proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_maps.cf,
- proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_maps.cf,
- proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf
- virtual_mailbox_maps =
- proxy:mysql:/etc/postfix/sql/mysql_virtual_mailbox_maps.cf,
- proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cf
- " >> "$maincf"
- sql="$POSTFIX_PATH/sql"
- mkdir "$sql"
- confheader="
- user = $MYSQL_USER
- password = $MYSQL_PASS
- hosts = $MYSQL_HOST
- dbname = $MYSQL_DATABASE
- "
- echo "
- $confheader
- query = SELECT goto FROM alias WHERE address='%s' AND active = '1'
- " > "$sql/mysql_virtual_alias_maps.cf"
- echo "
- $confheader
- query = SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain = '%d' and alias.address = CONCAT('%u', '@', alias_domain.target_domain) AND alias.active = 1 AND alias_domain.active='1'
- " > "$sql/mysql_virtual_alias_domain_maps.cf"
- echo "
- $confheader
- query = SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain = '%d' and alias.address = CONCAT('@', alias_domain.target_domain) AND alias.active = 1 AND alias_domain.active='1'
- " > "$sql/mysql_virtual_alias_domain_catchall_maps.cf"
- echo "
- $confheader
- query = SELECT domain FROM domain WHERE domain='%s' AND active = '1'
- " > "$sql/mysql_virtual_domains_maps.cf"
- echo "
- $confheader
- query = SELECT maildir FROM mailbox WHERE username='%s' AND active = '1'
- " > "$sql/mysql_virtual_mailbox_maps.cf"
- echo "
- $confheader
- query = SELECT maildir FROM mailbox,alias_domain WHERE alias_domain.alias_domain = '%d' and mailbox.username = CONCAT('%u', '@', alias_domain.target_domain) AND mailbox.active = 1 AND alias_domain.active='1'
- " > "$sql/mysql_virtual_alias_domain_mailbox_maps.cf"
- echo "
- $confheader
- query = SELECT quota FROM mailbox WHERE username='%s' AND active = '1'
- " > "$sql/mysql_virtual_mailbox_limit_maps.cf"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement