با سلام و احترام
برای ساخت ایمیل در دایرکت ادمین از بخش email account اقدام میکنیم.
برای همه ما پیش اومده که یه فول بکاپ از طریق دایرکت ادمین ریستور میکنیم و به دلایلی با خطا مواجه میشه و مجبور میشیم بصورت دستی بکاپ رو منتقل کنیم ، فرض کنین یه مشتری باشه که 100 تا یا بیشتر اکانت ایمیل داشته باشه ، واقعا کار زمان بر و حوصله سر کنی هست بخوایم یکی یکی ایمیل ها رو تو دایرکت ادمین اضافه کنیم.
این موضوع برا خود من پیش اومد و دنبال یه راهکار بودم تا از طریق ssh بتونم همه ایمیلها را اضافه کنم تا به راهکار زیر رسیدم:
اسکریپت add_email.sh در دایرکت ادمین به ما کمک میکنه تا باش ایمیل بسازیم:
فرمتش اینجوریه:
./add_email.sh <user> <domain> '<cryptedpass>' <plaintext> <quota>
user : اسم یوزر ایمیل هست
domain: اسم دامنه ای که براش میخوایم ایمیل بسازیم
cryptedpass : پسورد:
plaintext : مقدار 0 یا 1 تنظیم میشه ، این مورد را 0 تنظیم کنید:
quota : حجم (براساس MB هست ، اگه 0 تنظیم بشه unlimit تنظیم میکنه)
./add_email.sh esmaeel sharif.com JKDGad8a 0 0
این دستور که ایجاد کنیم ایمیل esmaeel@sharif.com با پسورد JKDGad8a و حجم نامحدود ساخته میشه.
خب حالا اگه بخوایم تعداد زیاد ایمیل بسازیم چکار کنیم؟
وارد مسیر زیر بشین:
cd /root
فایل mailbox.csv را در این مسیر اپلود کنین.تو این فایل تو هر خط بصورت زیر ایمیلها را وارد میکنیم:
esmaeel@sharif.com,kjadha8HD,500
esmaeel2@sharif.com,kjadha8HD,500
esmaeel3@sharif.com,kjadha8HD,500
esmaeel4@sharif.com,kjadha8HD,500
اولین مقدار آدرس ایمیل مورد نظر هست، دومین مقدار پسورد و مقدار سوم حجم مورد نظر برای این ایمیل هست.
در ادامه فایل csv.sh را ایجاد و مقادیر زیر را در ان وارد میکنیم:
!/bin/sh
#sample line:
#user@domain.com,password,500
FILE=mailboxes.csv
#the quotas are stored in bytes. so the # in meg, x 1024 x 1024 gives us bytes.(1024x1024=1048576)
QUOTAMULTIPLIER=1048576
if [ ! -s $FILE ]; then
echo "Ensure ${FILE} exists";
exit 1;
fi
for line in `cat $FILE`; do
{
EMAIL=`echo "$line" | cut -d, -f1`
PASS=` echo "$line" | cut -d, -f2`
QUOTA=`echo "$line" | cut -d, -f3`
QUOTA=`perl -e "print $QUOTA * $QUOTAMULTIPLIER"`
USER=`echo "$EMAIL" | cut -d@ -f1`
DOMAIN=`echo "$EMAIL" | cut -d@ -f2`
/usr/local/directadmin/scripts/add_email.sh $USER $DOMAIN "$PASS" 1 $QUOTA
};
done;
exit 0;
فایل را ذخیره میکنیم و دسترسیشو به 755 تغییر میدیم.
سپس با دستور:
sh csv.sh این اسکریپت رو اجرا میکنیم و همه ایمیلهایی که داخل فایل mailbox.csv هست رو ایجاد میکنه
شایان بذکر هست من ازین استفاده کردم و بدون مشکل کار میکنه
سوالی داشتین در خدمتم.