Browse Source

Fixing public mailing list

Bob Mottram 10 years ago
parent
commit
a11b75fbc7
1 changed files with 21 additions and 6 deletions
  1. 21
    6
      install-freedombone.sh

+ 21
- 6
install-freedombone.sh View File

@@ -1702,17 +1702,27 @@ function create_public_mailing_list {
1702 1702
       PUBLIC_MAILING_LIST_DOMAIN_NAME=$DOMAIN_NAME
1703 1703
   fi
1704 1704
 
1705
+  PUBLIC_MAILING_LIST_USER="mlmmj"
1706
+
1705 1707
   apt-get -y --force-yes install mlmmj
1706
-  adduser --system mlmmj
1708
+  adduser --system $PUBLIC_MAILING_LIST_USER
1709
+  addgroup $PUBLIC_MAILING_LIST_USER
1710
+  adduser $PUBLIC_MAILING_LIST_USER $PUBLIC_MAILING_LIST_USER
1707 1711
 
1708 1712
   echo ''
1709 1713
   echo "Creating the $PUBLIC_MAILING_LIST mailing list"
1710 1714
   echo ''
1711 1715
 
1712 1716
   # create the list
1713
-  mlmmj-make-ml -a -L "$PUBLIC_MAILING_LIST" -c mlmmj
1717
+  mlmmj-make-ml -a -L "$PUBLIC_MAILING_LIST" -c $PUBLIC_MAILING_LIST_USER
1718
+
1719
+  echo 'SYSTEM_ALIASES_PIPE_TRANSPORT = address_pipe' > /etc/exim4/conf.d/main/000_localmacros
1720
+  echo "SYSTEM_ALIASES_USER = $PUBLIC_MAILING_LIST_USER" >> /etc/exim4/conf.d/main/000_localmacros
1721
+  echo "SYSTEM_ALIASES_GROUP = $PUBLIC_MAILING_LIST_USER" >> /etc/exim4/conf.d/main/000_localmacros
1714 1722
 
1723
+  # router
1715 1724
   echo 'mlmmj_router:' > /etc/exim4/conf.d/router/750_exim4-config_mlmmj
1725
+  echo '  debug_print = "R: mlmmj_router for $local_part@$domain"' >> /etc/exim4/conf.d/router/750_exim4-config_mlmmj
1716 1726
   echo '  driver = accept' >> /etc/exim4/conf.d/router/750_exim4-config_mlmmj
1717 1727
   echo '  domains = +mlmmj_domains' >> /etc/exim4/conf.d/router/750_exim4-config_mlmmj
1718 1728
   echo '  #require_files = MLMMJ_HOME/${lc::$local_part}' >> /etc/exim4/conf.d/router/750_exim4-config_mlmmj
@@ -1725,7 +1735,9 @@ function create_public_mailing_list {
1725 1735
   echo '  headers_add = Delivered-To: $local_part$local_part_suffix@$domain' >> /etc/exim4/conf.d/router/750_exim4-config_mlmmj
1726 1736
   echo '  transport = mlmmj_transport' >> /etc/exim4/conf.d/router/750_exim4-config_mlmmj
1727 1737
 
1738
+  # transport
1728 1739
   echo 'mlmmj_transport:' > /etc/exim4/conf.d/transport/40_exim4-config_mlmmj
1740
+  echo '  debug_print = "T: mlmmj_transport for $local_part@$domain"' >> /etc/exim4/conf.d/transport/40_exim4-config_mlmmj
1729 1741
   echo '  driver = pipe' >> /etc/exim4/conf.d/transport/40_exim4-config_mlmmj
1730 1742
   echo '  return_path_add' >> /etc/exim4/conf.d/transport/40_exim4-config_mlmmj
1731 1743
   echo '  user = mlmmj' >> /etc/exim4/conf.d/transport/40_exim4-config_mlmmj
@@ -1741,6 +1753,10 @@ function create_public_mailing_list {
1741 1753
       sed -i "/MLMMJ_HOME/a\domainlist mlmmj_domains = $PUBLIC_MAILING_LIST_DOMAIN_NAME" /etc/exim4/conf.d/main/01_exim4-config_listmacrosdefs
1742 1754
   fi
1743 1755
 
1756
+
1757
+  if ! grep -q "delay_warning_condition =" /etc/exim4/conf.d/main/01_exim4-config_listmacrosdefs; then
1758
+      sed -i '/domainlist mlmmj_domains =/a\delay_warning_condition = ${if match_domain{$domain}{+mlmmj_domains}{no}{yes}}' /etc/exim4/conf.d/main/01_exim4-config_listmacrosdefs
1759
+  fi
1744 1760
   if ! grep -q ": +mlmmj_domains" /etc/exim4/conf.d/main/01_exim4-config_listmacrosdefs; then
1745 1761
       sed -i 's/domainlist relay_to_domains = MAIN_RELAY_TO_DOMAINS/domainlist relay_to_domains = MAIN_RELAY_TO_DOMAINS : +mlmmj_domains/g' /etc/exim4/conf.d/main/01_exim4-config_listmacrosdefs
1746 1762
   fi
@@ -1748,11 +1764,10 @@ function create_public_mailing_list {
1748 1764
   if ! grep -q "! +mlmmj_domains" /etc/exim4/conf.d/router/200_exim4-config_primary; then
1749 1765
       sed -i 's/domains = ! +local_domains/domains = ! +mlmmj_domains : ! +local_domains/g' /etc/exim4/conf.d/router/200_exim4-config_primary
1750 1766
   fi
1751
-  service exim4 restart
1752 1767
   newaliases
1753
-
1754
-  # subscribe the user to the list
1755
-  mlmmj-sub -f -c -L /var/spool/mlmmj/$PUBLIC_MAILING_LIST -a $MY_USERNAME@$DOMAIN_NAME
1768
+  update-exim4.conf.template -r
1769
+  update-exim4.conf
1770
+  service exim4 restart
1756 1771
 
1757 1772
   mailinglistrule $MY_USERNAME "$PUBLIC_MAILING_LIST" "$PUBLIC_MAILING_LIST"
1758 1773