前回の記事で書いたユーザー大量追加作戦が失敗したのでPostfixのエイリアスを使ってテストメールアカウント(エイリアス)を大量作成しました。

どうするのか


server1というローカルユーザーを作成して、全てのメールエイリアス宛のメールはserver1で閲覧します。テスト用のメールアドレス宛でメールが届いたのが確認できたらよかったので、ローカルユーザーをいちいち作成する必要はなかったということです。

環境


  • Postfix 2.10.1

エイリアス用のファイル作成


/etc/aleasesに記述してもいいのですが、今回はあまりにも件数が多いので別のファイルに記述しました。
ファイル名はp_aliasesにします。

こいつにこんな感じで転送元のユーザー名と転送先(server1)をつらつらと記載していきます。このとき、転送元(user1、user2…)はローカルユーザーとして存在しなくても構いません。

1
2
3
4
5
user1: server1
user2: server1
user3: server1
user4: server1
・・・

シェルスクリプトも不要です。Excelあたりでささっと作成します。久々にExcelに感謝です。

このファイルを/etc/postfix/に格納します。

Postfix


/etc/postfix/main.cfの下記を変更します。

1
2
3
#エイリアスファイルを指定
alias_maps = hash:/etc/postfix/p_aliases
alias_database = hash:/etc/postfix/p_aliases

下記のコマンドでPostfixにエイリアスファイルが変更したことを認識させます。Postfixの再起動は不要です。

1
2
postalias /etc/postfix/p_aliases
newaliases

あとはuser1@メールサーバーのドメインに送信すればserver1@メールサーバーのドメインでメールが届いているのが確認できます。

参考


下記の記事を参考にさせて頂きました。Postfixでのその他の転送設定も記載されてます。

postfix の aliases(エイリアス) でメールを転送
Postfixでのメール転送設定について