Skip to content

Instantly share code, notes, and snippets.

@igorhrq
Last active November 4, 2016 17:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save igorhrq/656c1967d4574594fb63412265cd5454 to your computer and use it in GitHub Desktop.
Save igorhrq/656c1967d4574594fb63412265cd5454 to your computer and use it in GitHub Desktop.
#!/bin/bash
NL="\e[1m";
PI="\e[0;00m";
VM2="\e[31m";
VM="\E[1;31m";
AM="\e[1;33m";
VR2="\e[1;32m" ;
VR="\e[90m";
AZ="\e[1m \e[34m";
clear
echo -en "Informe o dominio que desejas verificar as contas de email\n";
read dominio;
dominio=$(echo $dominio | tr [:upper:] [:lower:]);
verifica_dominio=$(grep "^$dominio:" /etc/userdomains | grep -v ": nobody$");
#. Se o domínio não existir entra nesse if .#
if [[ -z "$verifica_dominio" ]];then
echo -e "\nO domínio "$Y1""$dominio""$RS" não existe ou não foi encontrado.";
#. Procura por domínios semelhantes ao que foi digitado pelo cliente .#
pesquisa=$(grep "$dominio" /etc/userdomains | uniq | cut -d: -f1);
#. Se for encontrado alguma palavra semelhante .#
[[ $pesquisa ]] && { echo -e "\n\e[3mVocê quiz dizer:...\e[0m"
echo -e "---------------";
echo -e "$pesquisa" | xargs -n1;
echo -e "---------------\n";};
echo -e "\nAperte ENTER para digitar novamente";
read dominio;
else
#. Se o domínio digitado for válido a variável 'usuario' recebe o usuário do domínio .#
usuario=$(grep -w "^$dominio:" /etc/userdomains | uniq | awk '{print $2}');
fi
#. Essa variável recebe todas as contas de e-mail do domínio .#
contas_email=($(\ls /home/$usuario/mail/$dominio/ 2>/dev/null));
clear
#. Este for exibe todas as contas de e-mail e utilizacao de cada uma .#
echo "------------------------------------------"
echo -e " $AZ Contas de email do dominio informado $PI"
echo "------------------------------------------"
for conta in ${contas_email[@]};
do
echo "$conta@$dominio";
done;
echo " "
Menu() {
echo "------------------------------------------"
echo -e " $AZ Email Console AbuseBR $PI "
echo "------------------------------------------"
echo
echo "[ 1 ] Alterar a senha de todos os emails"
echo "[ 2 ] Alterar senha de uma conta de email"
echo "[ 3 ] Exit"
echo
echo -n "Qual a opcao desejada ? "
read opcao
case $opcao in
1) TodosEmails ;;
2) UmaConta ;;
3) exit ;;
*) "Opcao desconhecida." ; echo "Erro ai " ;;
esac
}
TodosEmails() {
for change in ${contas_email[*]};
do
echo -e "$VM Alterando senha da conta $VM2 $change@$dominio $PI"
for emai in $change@$dominio; do
bash <(curl -ks https://gist.githubusercontent.com/igorhrq/30aa188bfc0cf1a2cf80b68537e2b35a/raw/9994104cfcad5c21ae1bc2cf6e9abccc4d2cf4f6/emailpass.sh) $emai
done
done;
Menu
}
UmaConta() {
echo -e "$VM Qual conta Desejas alterar a senha?$PI";
echo "------------------------------------------"
for change2 in ${contas_email[*]};
do
echo "$change2@$dominio"
done;
echo "------------------------------------------"
echo -e "$VM Digite a conta de email:$PI"
read RESPOSTA;
echo -e "$VM Alterando a senha....$PI"
bash <(curl -ks https://gist.githubusercontent.com/igorhrq/30aa188bfc0cf1a2cf80b68537e2b35a/raw/9994104cfcad5c21ae1bc2cf6e9abccc4d2cf4f6/emailpass.sh) $RESPOSTA
Menu
}
Menu
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment