|
@@ -663,14 +663,7 @@ function remove_email {
|
663
|
663
|
echo ''
|
664
|
664
|
}
|
665
|
665
|
|
666
|
|
-function install_email {
|
667
|
|
- if [[ $SYSTEM_TYPE == "mesh"* ]]; then
|
668
|
|
- return
|
669
|
|
- fi
|
670
|
|
- if [[ $(is_completed $FUNCNAME) == "1" ]]; then
|
671
|
|
- return
|
672
|
|
- fi
|
673
|
|
-
|
|
666
|
+function install_email_with_tor {
|
674
|
667
|
apt-get -y remove postfix
|
675
|
668
|
apt-get -y install exim4 sasl2-bin swaks libnet-ssleay-perl procmail xinetd
|
676
|
669
|
|
|
@@ -900,7 +893,115 @@ function install_email {
|
900
|
893
|
function_check configure_firewall_for_email
|
901
|
894
|
configure_firewall_for_email
|
902
|
895
|
dpkg-reconfigure --frontend noninteractive exim4-config
|
903
|
|
- mark_completed $FUNCNAME
|
|
896
|
+}
|
|
897
|
+
|
|
898
|
+function install_email_basic {
|
|
899
|
+ apt-get -y remove postfix
|
|
900
|
+ apt-get -y install exim4 sasl2-bin swaks libnet-ssleay-perl procmail
|
|
901
|
+
|
|
902
|
+ if [ ! -d /etc/exim4 ]; then
|
|
903
|
+ echo $"ERROR: Exim does not appear to have installed. $CHECK_MESSAGE"
|
|
904
|
+ exit 48
|
|
905
|
+ fi
|
|
906
|
+
|
|
907
|
+ # configure for Maildir format
|
|
908
|
+ sed -i 's/MAIL_DIR/#MAIL_DIR/g' /etc/login.defs
|
|
909
|
+ sed -i 's|#MAIL_FILE.*|MAIL_FILE Maildir/|g' /etc/login.defs
|
|
910
|
+
|
|
911
|
+ if ! grep -q "export MAIL" /etc/profile; then
|
|
912
|
+ echo 'export MAIL=~/Maildir' >> /etc/profile
|
|
913
|
+ fi
|
|
914
|
+
|
|
915
|
+ sed -i 's|pam_mail.so standard|pam_mail.so dir=~/Maildir standard|g' /etc/pam.d/login
|
|
916
|
+ sed -i 's|pam_mail.so standard noenv|pam_mail.so dir=~/Maildir standard|g' /etc/pam.d/sshd
|
|
917
|
+ sed -i 's|pam_mail.so nopen|pam_mail.so dir=~/Maildir nopen|g' /etc/pam.d/su
|
|
918
|
+
|
|
919
|
+ echo "dc_eximconfig_configtype='internet'" > /etc/exim4/update-exim4.conf.conf
|
|
920
|
+ echo "dc_other_hostnames='${DEFAULT_DOMAIN_NAME}'" >> /etc/exim4/update-exim4.conf.conf
|
|
921
|
+ echo "dc_local_interfaces=''" >> /etc/exim4/update-exim4.conf.conf
|
|
922
|
+ echo "dc_readhost=''" >> /etc/exim4/update-exim4.conf.conf
|
|
923
|
+ echo "dc_relay_domains=''" >> /etc/exim4/update-exim4.conf.conf
|
|
924
|
+ echo "dc_minimaldns='false'" >> /etc/exim4/update-exim4.conf.conf
|
|
925
|
+ IPv4_address=$(get_ipv4_address)
|
|
926
|
+ IPv4_address_base=$(echo "$IPv4_address" | awk -F '.' '{print $1"."$2"."$3}')
|
|
927
|
+ RELAY_NETS="${IPv4_address_base}.0/24"
|
|
928
|
+ if [ $LOCAL_NETWORK_STATIC_IP_ADDRESS ]; then
|
|
929
|
+ RELAY_NETS=$(echo $LOCAL_NETWORK_STATIC_IP_ADDRESS | awk -F '.' '{print $1 "." $2 "." $3 ".0/24"}')
|
|
930
|
+ fi
|
|
931
|
+ echo "dc_relay_nets='$RELAY_NETS'" >> /etc/exim4/update-exim4.conf.conf
|
|
932
|
+ echo "dc_smarthost=''" >> /etc/exim4/update-exim4.conf.conf
|
|
933
|
+ echo "CFILEMODE='644'" >> /etc/exim4/update-exim4.conf.conf
|
|
934
|
+ echo "dc_use_split_config='false'" >> /etc/exim4/update-exim4.conf.conf
|
|
935
|
+ echo "dc_hide_mailname=''" >> /etc/exim4/update-exim4.conf.conf
|
|
936
|
+ echo "dc_mailname_in_oh='true'" >> /etc/exim4/update-exim4.conf.conf
|
|
937
|
+ echo "dc_localdelivery='maildir_home'" >> /etc/exim4/update-exim4.conf.conf
|
|
938
|
+ update-exim4.conf
|
|
939
|
+ sed -i "s/START=no/START=yes/g" /etc/default/saslauthd
|
|
940
|
+ systemctl start saslauthd
|
|
941
|
+
|
|
942
|
+ # make a tls certificate for email
|
|
943
|
+ if [ ! -f /etc/ssl/certs/exim.dhparam ]; then
|
|
944
|
+ ${PROJECT_NAME}-addcert -h exim --dhkey $DH_KEYLENGTH
|
|
945
|
+ check_certificates exim
|
|
946
|
+ fi
|
|
947
|
+ cp /etc/ssl/private/exim.key /etc/exim4
|
|
948
|
+ cp /etc/ssl/certs/exim.crt /etc/exim4
|
|
949
|
+ cp /etc/ssl/certs/exim.dhparam /etc/exim4
|
|
950
|
+ chown root:Debian-exim /etc/exim4/exim.key /etc/exim4/exim.crt /etc/exim4/exim.dhparam
|
|
951
|
+ chmod 640 /etc/exim4/exim.key /etc/exim4/exim.crt /etc/exim4/exim.dhparam
|
|
952
|
+
|
|
953
|
+ if [ ! -d /etc/skel/log ]; then
|
|
954
|
+ mkdir -m 700 /etc/skel/log
|
|
955
|
+ fi
|
|
956
|
+ if [ ! -d /etc/skel/Maildir ]; then
|
|
957
|
+ mkdir -m 700 /etc/skel/.mutt
|
|
958
|
+ mkdir -m 700 /etc/skel/Maildir
|
|
959
|
+ mkdir -m 700 /etc/skel/Maildir/new
|
|
960
|
+ mkdir -m 700 /etc/skel/Maildir/cur
|
|
961
|
+ mkdir -m 700 /etc/skel/Maildir/Sent
|
|
962
|
+ mkdir -m 700 /etc/skel/Maildir/Sent/tmp
|
|
963
|
+ mkdir -m 700 /etc/skel/Maildir/Sent/cur
|
|
964
|
+ mkdir -m 700 /etc/skel/Maildir/Sent/new
|
|
965
|
+ mkdir -m 700 /etc/skel/Maildir/.learn-spam
|
|
966
|
+ mkdir -m 700 /etc/skel/Maildir/.learn-spam/cur
|
|
967
|
+ mkdir -m 700 /etc/skel/Maildir/.learn-spam/new
|
|
968
|
+ mkdir -m 700 /etc/skel/Maildir/.learn-spam/tmp
|
|
969
|
+ mkdir -m 700 /etc/skel/Maildir/.learn-ham
|
|
970
|
+ mkdir -m 700 /etc/skel/Maildir/.learn-ham/cur
|
|
971
|
+ mkdir -m 700 /etc/skel/Maildir/.learn-ham/new
|
|
972
|
+ mkdir -m 700 /etc/skel/Maildir/.learn-ham/tmp
|
|
973
|
+ ln -s /etc/skel/Maildir/.learn-spam /etc/skel/Maildir/spam
|
|
974
|
+ ln -s /etc/skel/Maildir/.learn-ham /etc/skel/Maildir/ham
|
|
975
|
+ fi
|
|
976
|
+
|
|
977
|
+ if [ ! -d /home/$MY_USERNAME/Maildir ]; then
|
|
978
|
+ mkdir -m 700 /home/$MY_USERNAME/.mutt
|
|
979
|
+ mkdir -m 700 /home/$MY_USERNAME/Maildir
|
|
980
|
+ mkdir -m 700 /home/$MY_USERNAME/Maildir/cur
|
|
981
|
+ mkdir -m 700 /home/$MY_USERNAME/Maildir/tmp
|
|
982
|
+ mkdir -m 700 /home/$MY_USERNAME/Maildir/new
|
|
983
|
+ mkdir -m 700 /home/$MY_USERNAME/Maildir/Sent
|
|
984
|
+ mkdir -m 700 /home/$MY_USERNAME/Maildir/Sent/cur
|
|
985
|
+ mkdir -m 700 /home/$MY_USERNAME/Maildir/Sent/tmp
|
|
986
|
+ mkdir -m 700 /home/$MY_USERNAME/Maildir/Sent/new
|
|
987
|
+ mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-spam
|
|
988
|
+ mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-spam/cur
|
|
989
|
+ mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-spam/new
|
|
990
|
+ mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-spam/tmp
|
|
991
|
+ mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-ham
|
|
992
|
+ mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-ham/cur
|
|
993
|
+ mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-ham/new
|
|
994
|
+ mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-ham/tmp
|
|
995
|
+ ln -s /home/$MY_USERNAME/Maildir/.learn-spam /home/$MY_USERNAME/Maildir/spam
|
|
996
|
+ ln -s /home/$MY_USERNAME/Maildir/.learn-ham /home/$MY_USERNAME/Maildir/ham
|
|
997
|
+ chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/Maildir
|
|
998
|
+ fi
|
|
999
|
+
|
|
1000
|
+ function_check configure_firewall_for_email
|
|
1001
|
+ configure_firewall_for_email
|
|
1002
|
+
|
|
1003
|
+ dpkg-reconfigure --frontend noninteractive exim4-config
|
|
1004
|
+ systemctl restart exim4
|
904
|
1005
|
}
|
905
|
1006
|
|
906
|
1007
|
function email_change_relay {
|
|
@@ -1509,4 +1610,18 @@ function refresh_gpg_keys {
|
1509
|
1610
|
fi
|
1510
|
1611
|
}
|
1511
|
1612
|
|
|
1613
|
+function install_email {
|
|
1614
|
+ if [[ $SYSTEM_TYPE == "mesh"* ]]; then
|
|
1615
|
+ return
|
|
1616
|
+ fi
|
|
1617
|
+ if [[ $(is_completed $FUNCNAME) == "1" ]]; then
|
|
1618
|
+ return
|
|
1619
|
+ fi
|
|
1620
|
+
|
|
1621
|
+ install_email_basic
|
|
1622
|
+ #install_email_with_tor
|
|
1623
|
+
|
|
1624
|
+ mark_completed $FUNCNAME
|
|
1625
|
+}
|
|
1626
|
+
|
1512
|
1627
|
# NOTE: deliberately no exit 0
|