Создать много почтовых ящиков на хостинге под управлением cPanel

Материал из Lblss.ru
Перейти к: навигация, поиск

Такое действо не слишком частое, но тупой копипаст множества логинов/паролей утомляет. Оный скрипт избавит от долбёжки. Всего то требуется файл users.txt со списком логинов в сокращённом виде (по одному на строку). Вид файла такой:

user1
user2
boss
megaboss

После работы скрипта создаётся копия файла, куда добавлены автоматически сгенерённые пароли.Впрочем, если есть готовые пароли, то часть скрипта можно закомментировать и скормить файл с паролями. Вид файла такой:

user1:userPass2
user2:useRpass1
boss:pasSb0ssa
megaboss:paSsmegaBossa

Собственно, код скрипта:

#!/bin/sh
 
 ###########################################################################
#                                                                           #
#   Средство для стругания множества почтовых ящиков на хостинге с cPanel   #
#                                                                           #
 ###########################################################################
 
 
# Сервер, Логин и Пароль аккаунта cPanel
login="MyLogin"
password="***password***"
server="my.server.com"
 
# Домен и Квота (MB) для каждого ящика
quota="25"
domain="mydomain.ru"
 
#
#                       Больше править ничего не нужно
#
 ##########################################################################
 
# TODO
# добавить условие "если авторизация пройдена"
 
 
# Файл для хранения куков
cookies="post.cookies"
# Куда записывать странички (при ошибках полезно вывести в файл)
output="/dev/null"
 
 
# Подготовка пар юзер:пасс из простого списка юзеров (по юзеру на строку)
cat users.txt | while read a
do
    echo $a:`echo "$a\`date\`" | md5sum | head -c 10` >>user_pass.txt
done 
 
# Авторизация в панели с сохранением куков
wget --output-document=${output} \
    --no-check-certificate --keep-session-cookies  --save-cookies=${cookies} \
    --post-data="login_theme=cpanel&user=${login}&pass=${password}&goto_uri=%2F" \
    https://${server}:2083/login/
 
sleep 1
 
# Непосредственно стругание ящиков
# чтение из файла строк в формате user:password
# user кратко, без @ и домена
cat user_pass.txt | while read e
do
    user=`echo $e | awk -F: '{print $1}'`
    pass=`echo $e | awk -F: '{print $2}'`
    wget --output-document=${output} --no-check-certificate \
        --keep-session-cookies  --save-cookies=${cookies} --load-cookies=${cookies} \
        --referer="https://${server}:2083/frontend/x3/mail/pops.html" \
        --post-data="email=${user}&domain=${domain}&password=${pass}&password2=${pass}&quota=${quota}" \
        https://${server}:2083/frontend/x3/mail/doaddpop.html
    sleep 1
done
 
rm -f ${cookies}
 
exit 0
Персональные инструменты