« Postfix DE VirtualMailBox | なんか当選したみたいだこれ。 »

2007.11.09

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

先日実装させてみたバーチャルメールボックスだけど、ユーザー追加のオペが怠いので
やっつけで追加パートのみスクリプトを書いてみた。
スクリプト 1 つで追加削除共に出来るようにするつもりだけど、とりあえず追加のみの
バージョンで (´・ω・)…。



まぁ、なんというか参考になるかも分からないきちゃないソースですが。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/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

関連記事

Comment & Trackback

Trackback are closed.

No comments.

Comment





*
Anti-Spam Image