modified: templates/myalias.html modified: views/inscription.py modified: views/profil.py
		
			
				
	
	
		
			127 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			127 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/sh
 | 
						|
 | 
						|
. /etc/mailconfig
 | 
						|
 | 
						|
check_domain()
 | 
						|
{
 | 
						|
    mail=$1
 | 
						|
 | 
						|
    domain=`echo $mail | awk -F '@' '{ print $2 }'`
 | 
						|
 | 
						|
    if [ "$domain" != `hostname` ]; then
 | 
						|
       echo "bad domain"
 | 
						|
       exit 1
 | 
						|
    fi;
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
check_alias()
 | 
						|
{
 | 
						|
    alias=$1
 | 
						|
    echo "$alias"
 | 
						|
    alias_exist=`egrep "$alias" "$ALIAS_FILE"`
 | 
						|
 | 
						|
    echo "$alias_exist"
 | 
						|
 | 
						|
    if [ "$alias_exist" != "" ]; then
 | 
						|
        echo "Address already exist in alias!"
 | 
						|
	exit 1
 | 
						|
    fi
 | 
						|
}
 | 
						|
 | 
						|
check_app_mail()
 | 
						|
{
 | 
						|
    mail=$1
 | 
						|
    while read line; do
 | 
						|
        if [ "$mail" == "$line" ]; then
 | 
						|
            echo "Adress already exist"
 | 
						|
            exit 2;
 | 
						|
        fi;
 | 
						|
    done < $APP_MAIL
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
add_alias()
 | 
						|
{
 | 
						|
    print "$2":" $1" >> "$ALIAS_FILE"
 | 
						|
}
 | 
						|
 | 
						|
check_mail_exist(){
 | 
						|
    mail="$2"
 | 
						|
    mail_exist=`egrep '"$mail"' $PASSWD_FILE`
 | 
						|
    if [ "$mail_exist" != "" ]; then
 | 
						|
        print "Address already exist"
 | 
						|
        exit 1
 | 
						|
    fi
 | 
						|
}
 | 
						|
 | 
						|
check_alias_exist(){
 | 
						|
 | 
						|
    alias_c="$1: $2"
 | 
						|
    
 | 
						|
    alias_exist=`egrep "$alias_c" "$ALIAS_FILE" `
 | 
						|
    if [ -z "$alias_exist" ]; then
 | 
						|
        print "This alias doesn't exist"
 | 
						|
        exit 2
 | 
						|
    fi
 | 
						|
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
del_alias()
 | 
						|
{
 | 
						|
    alias_line="$1: $2"
 | 
						|
    egrep -v "$alias_line" "$ALIAS_FILE" > /tmp/alias.tmp
 | 
						|
    mv /tmp/alias.tmp "$ALIAS_FILE"
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
usage(){
 | 
						|
    print "This program ask 3 arguments : \n"
 | 
						|
    print "First is email with domain name of this host second is add or del for \n"
 | 
						|
    print "add or delete an alias "
 | 
						|
    print "\t$0 email-adresse del alias@`hostname`\n"
 | 
						|
    print "Other example:\n\t $0 test@`hostname` add myalias@`hostname` "
 | 
						|
    print "This script require root privilèges"
 | 
						|
}
 | 
						|
 | 
						|
if [ `id -u` -ne 0 ]; then
 | 
						|
    usage
 | 
						|
    exit 4;
 | 
						|
fi
 | 
						|
 | 
						|
if [ -z $1 ];
 | 
						|
then
 | 
						|
    usage
 | 
						|
    exit 3;
 | 
						|
fi
 | 
						|
 | 
						|
if [ -z $2 ];
 | 
						|
then
 | 
						|
    usage
 | 
						|
    exit 3;
 | 
						|
fi
 | 
						|
 | 
						|
 | 
						|
check_domain $1
 | 
						|
 | 
						|
 | 
						|
case $2 in
 | 
						|
    "add")
 | 
						|
	check_mail_exist $3
 | 
						|
	check_alias $3
 | 
						|
	check_app_mail $3
 | 
						|
        add_alias $1 $3
 | 
						|
	smtpctl update table virtuals
 | 
						|
        ;;
 | 
						|
    "del")
 | 
						|
	check_alias_exist $3 $1
 | 
						|
        del_alias $3 $1
 | 
						|
	smtpctl update table virtuals
 | 
						|
        ;;
 | 
						|
    *)
 | 
						|
        usage
 | 
						|
        exit 4;
 | 
						|
        ;;
 | 
						|
esac
 |