この記事は最終更新日より 1 年以上経過しています。
画像やリンクが無効になっている可能性もあるのでご了承下さい。
画像やリンクが無効になっている可能性もあるのでご了承下さい。
先日実装させてみたバーチャルメールボックスだけど、ユーザー追加のオペが怠いので
やっつけで追加パートのみスクリプトを書いてみた。
スクリプト 1 つで追加削除共に出来るようにするつもりだけど、とりあえず追加のみの
バージョンで (´・ω・)…。
まぁ、なんというか参考になるかも分からないきちゃないソースですが。
#!/bin/sh
#
# Virtual Mail User Account Provisioning
#
# Hash DB File
DB=/etc/postfix/vmail
# Use Command
PM=/usr/sbin/postmap
UDB=/usr/local/sbin/userdb
PW=/usr/local/sbin/userdbpw
MK=/usr/local/sbin/makeuserdb
# Option and Account exist check
if [ -z $1 -o -z $2 ]; then
echo "usage : vmail.sh [add|del] MAILADDRESS PASSWORD"
exit 1;
fi
# Password exsist check
if [ -z $3 ]; then
echo "Need a password."
exit 1
fi
# Execute add or del.
case $1 in
add)
# Set variables
MBPATH=`echo $2 | sed -r 's/(.+)\@(.+)/\2\/\1\//;'`
# [Postfix] add a hash to db file.
echo $2 | sed -r 's/(.+)\@(.+)/\1\@\2\t\2\/\1\//;' >> ${DB}
${PM} ${DB}
echo "Postfix part finished."
# [Courier-IMAP] user add.
${UDB} $2 set mail=/var/mail/vmb/${MBPATH} home=/var/mail/vmb/ uid=5000 gid=5000
echo "Courier-IMAP user added."
# set password for pop3 and imap
echo $3 | ${PW} | ${UDB} $2 set imappw
echo $3 | ${PW} | ${UDB} $2 set pop3pw
echo "Courier-IMAP user password set done."
# Update Auth DB
${MK}
echo "Courier-IMAP part finished."
echo "User $2 available."
;;
del)
echo "not available now..."
exit 1
;;
*)
echo "unkown error."
exit 1
;;
esac
コメント