先日実装させてみたバーチャルメールボックスだけど、ユーザー追加のオペが怠いので
やっつけで追加パートのみスクリプトを書いてみた。
スクリプト 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

Related posts:

  1. Postfix DE VirtualMailBox
  2. MRA の実装変更に悩んでみる。
  3. 新サーバー構築 其の二 MySQL
  4. ただひたすら新サーバー弄り
  5. 監視ツールの一本化

 返信する


*

以下のHTML タグと属性が利用できます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img localsrc="" alt=""> <pre lang="" line="" escaped="" highlight="">

   
59 queries. 0.323 seconds.