24時間365日フルマネージドホスティングサービスのデイーネット

qmailadmin(vpopmail)で1文字のメールアカウントを作成してみる

みなさんこんにちは。 ディーネットの浜田です。

自分に影響のある花粉症の時期が過ぎたのかわからないので未だにマスクを外せない日々が続きます。

今回はqmailadminで1文字のメールアカウントを作成する方法についてです。

1文字のメールアカウントを作る

基本的にqmailadminで1文字のメールアカウントを作成しようとすると、以下のように怒られて作成できません。
qmailadmin.png

コマンドラインから実行しても怒られて作成できません

# /home/vpopmail/bin/vadduser x@mail-test.denet.net passwd
Error: Illegal username

どうしても1文字のメールアカウントを作成したい!という場合はどうすればいいか。
qmailadminはvpopmailを利用してアカウントを作成しているので、こちらのスクリプトを修正してあげれば作成できるようになります。

今回テストを行った環境は
・CentOS7系
・vpopmailを導入した際のソースが残っていること (今回の場合は/usr/local/src/vpopmail-5.4.33)

vi vpopmail.c
/*
 * Add a virtual domain user
 */
int vadduser( char *username, char *domain, char *password, char *gecos,
              int apop )

 ~ 中略 ~

#ifdef USERS_BIG_DIR
  if ( strlen(username) == 1 ) return(VA_ILLEGAL_USERNAME);
#endif

上記はvpopmailスクリプトにあるユーザ追加コマンド(vadduser)についての記述の一部です。
if文のところを見ると、入力されたユーザ名が1文字であればエラーを返す設定になっていますので、

if ( strlen(username) == 0 ) return(VA_ILLEGAL_USERNAME);

こちらを上記のように変えればオッケーです。

また、パスワード変更(vpasswd)、容量制限の変更(vsetuserquota)についての記述でも同様の1文字制限がありますので適宜変更して下さい。

変更後にコンパイルを実行すれば完了です。
qmailadmin2.png

コマンドラインでも正常に作成できています。

# /home/vpopmail/bin/vadduser y@mail-test.denet.net passwd
# ll /home/vpopmail/domains/mail-test.denet.net/
合計 8
drwx------ 3 vpopmail vchkpw   37  4月 24 15:33 postmaster
-rw------- 1 vpopmail vchkpw  315  4月 25 15:05 vpasswd
-rw------- 1 vpopmail vchkpw 2429  4月 25 15:05 vpasswd.cdb
drwx------ 3 vpopmail vchkpw   37  4月 25 15:03 x
drwx------ 3 vpopmail vchkpw   37  4月 25 15:05 y

何故1文字のアカウントが作れない?

しかし、何故で1文字のメールアカウントが作成できないのか。

qmailではメールアカウント数100毎に「0」~「9」、「A」~「Z」という数字もしくはアルファベット1文字のディレクトリが作成され、そのディレクトリに100件ずつメールアカウントが保存されます。

一文字のメールアカウントを作成した場合、上記のディレクトリと名前が被ってしまうので不具合が生じる可能性が有ります。

そのため、方法を紹介した後で述べるのもなんですが、基本的には1文字のアカウントは作成しない方針でvpopmailを利用したほうがいいでしょう。
では、今回はこの辺で。

  • このページの先頭へ

  • 東京本社
    〒105-0001東京都港区虎ノ門2-3-22 第一秋山ビル5F
    TEL:03-3591-8887 FAX:03-3591-8886
  • 大阪本社
    〒541-0041 大阪市中央区北浜2-6-11北浜エクセルビル5F
    TEL:06-6231-8887 FAX:06-6231-8897

  • 認証範囲はこちらをご覧ください。

Denet logo

クラウドサービス・データセンタ・高機能専有サーバ・共有サーバホスティングサービス 株式会社ディーネット
dot_bar