27 lines
1.1 KiB
Bash
27 lines
1.1 KiB
Bash
#!/bin/bash
|
|
rm /root/users.sql
|
|
echo "DELETE FROM mailbox;" >> /root/users.sql
|
|
echo "DELETE FROM alias;" >> /root/users.sql
|
|
|
|
while IFS= read -r LINE
|
|
do
|
|
USER=$(echo $LINE | awk -F':' '{print $1}')
|
|
HASH=$(echo $LINE | awk -F':' '{print $2}')
|
|
NAME=$(echo $LINE | awk -F':' '{print $5}' | tr -cd '\11\12\15\40-\176' | sed "s/'/\\\'/g")
|
|
DOMAIN=$(echo $LINE | awk -F':' '{print $6}' | awk -F'/' '{print $6}')
|
|
MAILUSER="$USER@$DOMAIN"
|
|
echo "$MAILUSER;$NAME;$HASH"
|
|
QUERY_DOMAIN="INSERT IGNORE INTO domain (domain) VALUES ('$DOMAIN');"
|
|
echo $QUERY_DOMAIN >> /root/users.sql
|
|
QUERY_USER="INSERT INTO mailbox (username, password, name, domain, maildir, local_part) VALUES
|
|
('$MAILUSER','{MD5-CRYPT}$HASH','$N$
|
|
echo $QUERY_USER >> /root/users.sql
|
|
QUERY_ALIAS="INSERT INTO alias (address, goto, domain) VALUES ('$MAILUSER', '$MAILUSER', '$DOMAIN');"
|
|
echo $QUERY_ALIAS >> /root/users.sql
|
|
if [ "$USER" == "postmaster" ]; then
|
|
QUERY_ADMIN="INSERT INTO domain_admins (username, domain) VALUES ('$MAILUSER', '$DOMAIN');"
|
|
echo $QUERY_ADMIN >> /root/users.sql
|
|
fi
|
|
done < /root/collected_vpasswd
|
|
|