From 4e9a3dd5a087387fb80653361ef1b6bc79b5225f Mon Sep 17 00:00:00 2001 From: Bozhidar Date: Wed, 24 Apr 2024 11:00:51 +0300 Subject: [PATCH] update --- bin/add-user-email.sh | 48 +++++++++++++++++++ .../Server/Applications/DovecotInstaller.php | 4 +- 2 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 bin/add-user-email.sh diff --git a/bin/add-user-email.sh b/bin/add-user-email.sh new file mode 100644 index 00000000..af33ee95 --- /dev/null +++ b/bin/add-user-email.sh @@ -0,0 +1,48 @@ +#!/bin/bash +USAGE="Usage: $0 EMAIL PASSWORD [BASEDIR]"; + +if [ ! -n "$2" ] +then + echo $USAGE; + exit 1; +fi + +USERNAME=$(echo "$1" | cut -f1 -d@); +DOMAIN=$(echo "$1" | cut -f2 -d@); +ADDRESS=$1; +PASSWD=$2; + +if [ -n "$3" ] +then + if [ ! -d "$3" ] + then + echo $USAGE; + echo "BASEDIR must be a valid directory!"; + echo "I would have tried, $(postconf | grep ^virtual_mailbox_base | cut -f3 -d' ')"; + exit 2; + else + BASEDIR="$3"; + fi +else + BASEDIR="$(postconf | grep ^virtual_mailbox_base | cut -f3 -d' ')"; +fi + +if [ -f /etc/postfix/vmailbox ] +then + echo "Adding Postfix user configuration..." + echo $ADDRESS $DOMAIN/$USERNAME/ >> /etc/postfix/vmailbox + postmap /etc/postfix/vmailbox + + if [ $? -eq 0 ] + then + echo "Adding Dovecot user configuration..." + + echo $ADDRESS::5000:5000::$BASEDIR/$DOMAIN/$ADDRESS + + echo $ADDRESS::5000:5000::$BASEDIR/$DOMAIN/$ADDRESS>> $BASEDIR/$DOMAIN/passwd + echo $ADDRESS":"$(doveadm pw -p $PASSWD) >> $BASEDIR/$DOMAIN/shadow + chown vmail:vmail $BASEDIR/$DOMAIN/passwd && chmod 775 $BASEDIR/$DOMAIN/passwd + chown vmail:vmail $BASEDIR/$DOMAIN/shadow && chmod 775 $BASEDIR/$DOMAIN/shadow + /etc/init.d/postfix reload + fi +fi diff --git a/web/app/Installers/Server/Applications/DovecotInstaller.php b/web/app/Installers/Server/Applications/DovecotInstaller.php index 6f74de27..9d830060 100644 --- a/web/app/Installers/Server/Applications/DovecotInstaller.php +++ b/web/app/Installers/Server/Applications/DovecotInstaller.php @@ -17,7 +17,9 @@ public function install() { $commands = []; $commands[] = 'echo "Installing dovecot..."'; - $commands[] = 'apt-get install -y telnet dovecot-core dovecot-imapd dovecot-pop3d dovecot-lmtpd'; + + // postfix - internet site + $commands[] = 'apt-get install -y telnet postfix dovecot-core dovecot-imapd dovecot-pop3d dovecot-lmtpd';