VirtualMailBox のユーザー追加スクリプト

本記事は最終更新日より 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
スポンサーリンク