Command for adding an email rule
This commit is contained in:
parent
4b4fb4e5e5
commit
e780194fb1
4
Makefile
4
Makefile
|
@ -18,6 +18,7 @@ install:
|
||||||
install -m 755 src/${APP}-sec ${DESTDIR}${PREFIX}/bin
|
install -m 755 src/${APP}-sec ${DESTDIR}${PREFIX}/bin
|
||||||
install -m 755 src/${APP}-addcert ${DESTDIR}${PREFIX}/bin
|
install -m 755 src/${APP}-addcert ${DESTDIR}${PREFIX}/bin
|
||||||
install -m 755 src/${APP}-addlist ${DESTDIR}${PREFIX}/bin
|
install -m 755 src/${APP}-addlist ${DESTDIR}${PREFIX}/bin
|
||||||
|
install -m 755 src/${APP}-addemail ${DESTDIR}${PREFIX}/bin
|
||||||
mkdir -m 755 -p ${DESTDIR}${PREFIX}/share/man/man1
|
mkdir -m 755 -p ${DESTDIR}${PREFIX}/share/man/man1
|
||||||
install -m 644 man/${APP}.1.gz ${DESTDIR}${PREFIX}/share/man/man1
|
install -m 644 man/${APP}.1.gz ${DESTDIR}${PREFIX}/share/man/man1
|
||||||
install -m 644 man/${APP}-prep.1.gz ${DESTDIR}${PREFIX}/share/man/man1
|
install -m 644 man/${APP}-prep.1.gz ${DESTDIR}${PREFIX}/share/man/man1
|
||||||
|
@ -27,6 +28,7 @@ install:
|
||||||
install -m 644 man/${APP}-sec.1.gz ${DESTDIR}${PREFIX}/share/man/man1
|
install -m 644 man/${APP}-sec.1.gz ${DESTDIR}${PREFIX}/share/man/man1
|
||||||
install -m 644 man/${APP}-addcert.1.gz ${DESTDIR}${PREFIX}/share/man/man1
|
install -m 644 man/${APP}-addcert.1.gz ${DESTDIR}${PREFIX}/share/man/man1
|
||||||
install -m 644 man/${APP}-addlist.1.gz ${DESTDIR}${PREFIX}/share/man/man1
|
install -m 644 man/${APP}-addlist.1.gz ${DESTDIR}${PREFIX}/share/man/man1
|
||||||
|
install -m 644 man/${APP}-addemail.1.gz ${DESTDIR}${PREFIX}/share/man/man1
|
||||||
uninstall:
|
uninstall:
|
||||||
rm -f ${PREFIX}/share/man/man1/${APP}.1.gz
|
rm -f ${PREFIX}/share/man/man1/${APP}.1.gz
|
||||||
rm -f ${PREFIX}/share/man/man1/${APP}-prep.1.gz
|
rm -f ${PREFIX}/share/man/man1/${APP}-prep.1.gz
|
||||||
|
@ -36,6 +38,7 @@ uninstall:
|
||||||
rm -f ${PREFIX}/share/man/man1/${APP}-sec.1.gz
|
rm -f ${PREFIX}/share/man/man1/${APP}-sec.1.gz
|
||||||
rm -f ${PREFIX}/share/man/man1/${APP}-addcert.1.gz
|
rm -f ${PREFIX}/share/man/man1/${APP}-addcert.1.gz
|
||||||
rm -f ${PREFIX}/share/man/man1/${APP}-addlist.1.gz
|
rm -f ${PREFIX}/share/man/man1/${APP}-addlist.1.gz
|
||||||
|
rm -f ${PREFIX}/share/man/man1/${APP}-addemail.1.gz
|
||||||
rm -rf ${PREFIX}/share/${APP}
|
rm -rf ${PREFIX}/share/${APP}
|
||||||
rm -f ${PREFIX}/bin/${APP}
|
rm -f ${PREFIX}/bin/${APP}
|
||||||
rm -f ${PREFIX}/bin/${APP}-prep
|
rm -f ${PREFIX}/bin/${APP}-prep
|
||||||
|
@ -45,6 +48,7 @@ uninstall:
|
||||||
rm -f ${PREFIX}/bin/${APP}-sec
|
rm -f ${PREFIX}/bin/${APP}-sec
|
||||||
rm -f ${PREFIX}/bin/${APP}-addcert
|
rm -f ${PREFIX}/bin/${APP}-addcert
|
||||||
rm -f ${PREFIX}/bin/${APP}-addlist
|
rm -f ${PREFIX}/bin/${APP}-addlist
|
||||||
|
rm -f ${PREFIX}/bin/${APP}-addemail
|
||||||
clean:
|
clean:
|
||||||
rm -f \#* \.#* debian/*.substvars debian/*.log
|
rm -f \#* \.#* debian/*.substvars debian/*.log
|
||||||
rm -fr deb.* debian/${APP}
|
rm -fr deb.* debian/${APP}
|
||||||
|
|
|
@ -6,3 +6,4 @@ man/freedombone-config.1.gz
|
||||||
man/freedombone-sec.1.gz
|
man/freedombone-sec.1.gz
|
||||||
man/freedombone-addcert.1.gz
|
man/freedombone-addcert.1.gz
|
||||||
man/freedombone-addlist.1.gz
|
man/freedombone-addlist.1.gz
|
||||||
|
man/freedombone-addemail.1.gz
|
||||||
|
|
Binary file not shown.
|
@ -5905,59 +5905,6 @@ function email_from_address {
|
||||||
echo 'email_from_address' >> $COMPLETION_FILE
|
echo 'email_from_address' >> $COMPLETION_FILE
|
||||||
}
|
}
|
||||||
|
|
||||||
function folders_for_email_addresses {
|
|
||||||
if [[ $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
if grep -Fxq "folders_for_email_addresses" $COMPLETION_FILE; then
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
echo '#!/bin/bash' > /usr/bin/addemailtofolder
|
|
||||||
echo 'MYUSERNAME=$1' >> /usr/bin/addemailtofolder
|
|
||||||
echo 'EMAILADDRESS=$2' >> /usr/bin/addemailtofolder
|
|
||||||
echo 'MAILINGLIST=$3' >> /usr/bin/addemailtofolder
|
|
||||||
echo 'MUTTRC=/home/$MYUSERNAME/.muttrc' >> /usr/bin/addemailtofolder
|
|
||||||
echo 'PM=/home/$MYUSERNAME/.procmailrc' >> /usr/bin/addemailtofolder
|
|
||||||
echo 'LISTDIR=/home/$MYUSERNAME/Maildir/$MAILINGLIST' >> /usr/bin/addemailtofolder
|
|
||||||
echo '' >> /usr/bin/addemailtofolder
|
|
||||||
echo 'if ! [[ $MYUSERNAME && $EMAILADDRESS && $MAILINGLIST ]]; then' >> /usr/bin/addemailtofolder
|
|
||||||
echo ' echo "addemailtofolder [user name] [email address] [mailing list name]"' >> /usr/bin/addemailtofolder
|
|
||||||
echo ' exit 1' >> /usr/bin/addemailtofolder
|
|
||||||
echo 'fi' >> /usr/bin/addemailtofolder
|
|
||||||
echo '' >> /usr/bin/addemailtofolder
|
|
||||||
echo 'if [ ! -d "$LISTDIR" ]; then' >> /usr/bin/addemailtofolder
|
|
||||||
echo ' mkdir -m 700 $LISTDIR' >> /usr/bin/addemailtofolder
|
|
||||||
echo ' mkdir -m 700 $LISTDIR/tmp' >> /usr/bin/addemailtofolder
|
|
||||||
echo ' mkdir -m 700 $LISTDIR/new' >> /usr/bin/addemailtofolder
|
|
||||||
echo ' mkdir -m 700 $LISTDIR/cur' >> /usr/bin/addemailtofolder
|
|
||||||
echo 'fi' >> /usr/bin/addemailtofolder
|
|
||||||
echo 'chown -R $MYUSERNAME:$MYUSERNAME $LISTDIR' >> /usr/bin/addemailtofolder
|
|
||||||
echo 'echo "" >> $PM' >> /usr/bin/addemailtofolder
|
|
||||||
echo 'echo ":0" >> $PM' >> /usr/bin/addemailtofolder
|
|
||||||
echo 'echo " * ^From: $EMAILADDRESS" >> $PM' >> /usr/bin/addemailtofolder
|
|
||||||
echo 'echo "$LISTDIR/new" >> $PM' >> /usr/bin/addemailtofolder
|
|
||||||
echo 'chown $MYUSERNAME:$MYUSERNAME $PM' >> /usr/bin/addemailtofolder
|
|
||||||
echo 'if [ ! -f "$MUTTRC" ]; then' >> /usr/bin/addemailtofolder
|
|
||||||
echo ' cp /etc/Muttrc $MUTTRC' >> /usr/bin/addemailtofolder
|
|
||||||
echo ' chown $MYUSERNAME:$MYUSERNAME $MUTTRC' >> /usr/bin/addemailtofolder
|
|
||||||
echo 'fi' >> /usr/bin/addemailtofolder
|
|
||||||
echo 'PROCMAILLOG=/home/$MYUSERNAME/log' >> /usr/bin/addemailtofolder
|
|
||||||
echo 'if [ ! -d $PROCMAILLOG ]; then' >> /usr/bin/addemailtofolder
|
|
||||||
echo ' mkdir $PROCMAILLOG' >> /usr/bin/addemailtofolder
|
|
||||||
echo ' chown -R $MYUSERNAME:$MYUSERNAME $PROCMAILLOG' >> /usr/bin/addemailtofolder
|
|
||||||
echo 'fi' >> /usr/bin/addemailtofolder
|
|
||||||
echo 'MUTT_MAILBOXES=$(grep "mailboxes =" $MUTTRC)' >> /usr/bin/addemailtofolder
|
|
||||||
echo 'if [[ $MUTT_MAILBOXES != *$MAILINGLIST* ]]; then' >> /usr/bin/addemailtofolder
|
|
||||||
echo ' if ! grep -q "=$MAILINGLIST" $MUTTRC; then' >> /usr/bin/addemailtofolder
|
|
||||||
echo ' sed -i "s|$MUTT_MAILBOXES|$MUTT_MAILBOXES =$MAILINGLIST|g" $MUTTRC' >> /usr/bin/addemailtofolder
|
|
||||||
echo ' chown $MYUSERNAME:$MYUSERNAME $MUTTRC' >> /usr/bin/addemailtofolder
|
|
||||||
echo ' fi' >> /usr/bin/addemailtofolder
|
|
||||||
echo 'fi' >> /usr/bin/addemailtofolder
|
|
||||||
echo 'exit 0' >> /usr/bin/addemailtofolder
|
|
||||||
chmod +x /usr/bin/addemailtofolder
|
|
||||||
echo 'folders_for_email_addresses' >> $COMPLETION_FILE
|
|
||||||
}
|
|
||||||
|
|
||||||
function create_public_mailing_list {
|
function create_public_mailing_list {
|
||||||
if [[ $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
|
if [[ $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
|
||||||
return
|
return
|
||||||
|
@ -6086,7 +6033,7 @@ function create_private_mailing_list {
|
||||||
sed -i 's/#smtp_port: 25/smtp_port: 465/g' /etc/schleuder/schleuder.conf
|
sed -i 's/#smtp_port: 25/smtp_port: 465/g' /etc/schleuder/schleuder.conf
|
||||||
sed -i 's/#superadminaddr: root@localhost/superadminaddr: root@localhost' /etc/schleuder/schleuder.conf
|
sed -i 's/#superadminaddr: root@localhost/superadminaddr: root@localhost' /etc/schleuder/schleuder.conf
|
||||||
schleuder-newlist $PRIVATE_MAILING_LIST@$DEFAULT_DOMAIN_NAME -realname "$PRIVATE_MAILING_LIST" -adminaddress $MY_EMAIL_ADDRESS -initmember $MY_EMAIL_ADDRESS -initmemberkey $MY_GPG_PUBLIC_KEY -nointeractive
|
schleuder-newlist $PRIVATE_MAILING_LIST@$DEFAULT_DOMAIN_NAME -realname "$PRIVATE_MAILING_LIST" -adminaddress $MY_EMAIL_ADDRESS -initmember $MY_EMAIL_ADDRESS -initmemberkey $MY_GPG_PUBLIC_KEY -nointeractive
|
||||||
addemailtofolder $MY_USERNAME $PRIVATE_MAILING_LIST@$DEFAULT_DOMAIN_NAME $PRIVATE_MAILING_LIST
|
freedombone-addemail -u $MY_USERNAME -e $PRIVATE_MAILING_LIST@$DEFAULT_DOMAIN_NAME -l $PRIVATE_MAILING_LIST
|
||||||
|
|
||||||
echo 'schleuder:' > /etc/exim4/conf.d/router/550_exim4-config_schleuder
|
echo 'schleuder:' > /etc/exim4/conf.d/router/550_exim4-config_schleuder
|
||||||
echo ' debug_print = "R: schleuder for $local_part@$domain"' >> /etc/exim4/conf.d/router/550_exim4-config_schleuder
|
echo ' debug_print = "R: schleuder for $local_part@$domain"' >> /etc/exim4/conf.d/router/550_exim4-config_schleuder
|
||||||
|
@ -8952,7 +8899,6 @@ email_client
|
||||||
email_archiving
|
email_archiving
|
||||||
email_from_address
|
email_from_address
|
||||||
configure_firewall_for_email
|
configure_firewall_for_email
|
||||||
folders_for_email_addresses
|
|
||||||
create_public_mailing_list
|
create_public_mailing_list
|
||||||
#create_private_mailing_list
|
#create_private_mailing_list
|
||||||
encrypt_all_email
|
encrypt_all_email
|
||||||
|
|
|
@ -0,0 +1,98 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Adds an email address rule to the email configuration
|
||||||
|
|
||||||
|
# License
|
||||||
|
# =======
|
||||||
|
#
|
||||||
|
# Copyright (C) 2015 Bob Mottram <bob@robotics.uk.to>
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
MYUSERNAME=$USER
|
||||||
|
EMAILADDRESS=
|
||||||
|
MAILINGLIST=
|
||||||
|
|
||||||
|
function show_help {
|
||||||
|
echo ''
|
||||||
|
echo 'freedombone-addemail -u [username] -e [email address] -l [mailing list name]'
|
||||||
|
echo ''
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
while [[ $# > 1 ]]
|
||||||
|
do
|
||||||
|
key="$1"
|
||||||
|
|
||||||
|
case $key in
|
||||||
|
-h|--help)
|
||||||
|
show_help
|
||||||
|
;;
|
||||||
|
-u|--user)
|
||||||
|
shift
|
||||||
|
MYUSERNAME="$1"
|
||||||
|
;;
|
||||||
|
-e|--email)
|
||||||
|
shift
|
||||||
|
EMAILADDRESS="$1"
|
||||||
|
;;
|
||||||
|
-l|--list)
|
||||||
|
shift
|
||||||
|
MAILINGLIST="$1"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
# unknown option
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
||||||
|
if ! [[ $MYUSERNAME && $EMAILADDRESS && $MAILINGLIST ]]; then
|
||||||
|
show_help
|
||||||
|
fi
|
||||||
|
|
||||||
|
MUTTRC=/home/$MYUSERNAME/.muttrc
|
||||||
|
PM=/home/$MYUSERNAME/.procmailrc
|
||||||
|
LISTDIR=/home/$MYUSERNAME/Maildir/$MAILINGLIST
|
||||||
|
|
||||||
|
if [ ! -d "$LISTDIR" ]; then
|
||||||
|
mkdir -m 700 $LISTDIR
|
||||||
|
mkdir -m 700 $LISTDIR/tmp
|
||||||
|
mkdir -m 700 $LISTDIR/new
|
||||||
|
mkdir -m 700 $LISTDIR/cur
|
||||||
|
fi
|
||||||
|
chown -R $MYUSERNAME:$MYUSERNAME $LISTDIR
|
||||||
|
echo "" >> $PM
|
||||||
|
echo ":0" >> $PM
|
||||||
|
echo " * ^From: $EMAILADDRESS" >> $PM
|
||||||
|
echo "$LISTDIR/new" >> $PM
|
||||||
|
chown $MYUSERNAME:$MYUSERNAME $PM
|
||||||
|
if [ ! -f "$MUTTRC" ]; then
|
||||||
|
cp /etc/Muttrc $MUTTRC
|
||||||
|
chown $MYUSERNAME:$MYUSERNAME $MUTTRC
|
||||||
|
fi
|
||||||
|
PROCMAILLOG=/home/$MYUSERNAME/log
|
||||||
|
if [ ! -d $PROCMAILLOG ]; then
|
||||||
|
mkdir $PROCMAILLOG
|
||||||
|
chown -R $MYUSERNAME:$MYUSERNAME $PROCMAILLOG
|
||||||
|
fi
|
||||||
|
MUTT_MAILBOXES=$(grep "mailboxes =" $MUTTRC)
|
||||||
|
if [[ $MUTT_MAILBOXES != *$MAILINGLIST* ]]; then
|
||||||
|
if ! grep -q "=$MAILINGLIST" $MUTTRC; then
|
||||||
|
sed -i "s|$MUTT_MAILBOXES|$MUTT_MAILBOXES =$MAILINGLIST|g" $MUTTRC
|
||||||
|
chown $MYUSERNAME:$MYUSERNAME $MUTTRC
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit 0
|
Loading…
Reference in New Issue