UNIXアカウント名と違うメールアドレスを使用する 2010/09/26 更新

通常UNIXアカウント名がそのままメールアドレスとなりますが、アカウント名とメールアドレスを変えたい場合は以下の作業が必要になります。
  ① UNIXアカウント と メールアドレス とのマッピングファイルを作成する。
  ② マッピングファイルからDBファイルを作成する。
  ③ postfix に canonical_maps を設定する。
サンプルコンフィグにはターミネータの登場人物を使っています。
設定手順
  1. UNIXアカウントとメールアドレスのマッピングファイルを作成する。
    # vi /etc/postfix/canonical
    緑:デフォルト、オレンジ:変更箇所
     
    #
    # CANONICAL(5) CANONICAL(5)
    #
    # NAME
    # canonical - format of Postfix canonical table
           :
           :
    John.Connor@example.com ※1    johnc@example.com ※2
    Sarah.Connor@example.com       sarahc@example.com
    Kate.Connor@example.com        sarahc@example.com
     
    ※1 左辺は メール送受信時に実際に使用すアドレス。
    ※2 右辺は 変換前のメールアドレスで UNIXユーザ@ドメイン名 です。
     
  2. DBファイルを作成する。
    # postmap /etc/postfix/canonical
     
     
  3. 作成したDBファイルを参照するように、postfix を設定する。
    # vi /etc/postfix/main.cf
    緑:デフォルト、オレンジ:変更箇所
     
    # Global Postfix configuration file. This file lists only a subset
    # of all 100+ parameters. See the sample-xxx.cf files for a full list.
    #
    # The general format is lines with parameter = value pairs. Lines
    # that begin with whitespace continue the previous line. A value can
    # contain references to other $names or ${name}s.
       :
       :
    canonical_maps = hash:/etc/postfix/canonical
     
     
  4. 設定ファイルの再読み込みを行う。
    # service postfix reload
     
      
 
 

コマンドでメールを送信する。 2010/03/04 更新
 メールを送信するために必要最小限のコマンドです。
文字色 青:投入コマンド緑:リプライメッセージ

# telnet localhost 25 ※1
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mail.kuromogu.com ESMTP Wellcome!!
helo localhost ※2
250 mail.kuromogu.com
mail from:info@kuromogu.com ※3
250 Ok
rcpt to:test_user@zmail.com ※4
250 Ok
data ※5
354 End data with <CR><LF>.<CR><LF>
testmail ※6
. ※7
250 Ok: queued as 7B913133067
quit ※8
221 Bye
Connection closed by foreign host
#
※1 メールサーバに接続 ※5 メールの本文入力を指示
※2 メール送信のためのセッション確立。ホスト名が不要なサーバもある。 ※6 本文の入力
※3 送信元メールアドレス ※7 ピリオドで本文で入力終了
※4 送信先メールアドレス ※8 メールサーバとの接続を終了
 
 
 

メールキューの操作 2010/02/21 更新
  1. キューに溜まっているメールの再配送を指示する。
    # postqueue -f
     
  2. キューに溜まっているメールをリストする。
    # postqueue -p
     
  3. キューの削除。
    # postsuper -d キューID ※1

    # postsuper -d ALL ※2

    # postsuper -d ALL deferred ※3
    ※1 キュー内の任意のメールを削除する。
    ※2 キュー内の全てのメールを削除する。
    ※3 キュー内の defer 状態のメールを全て削除する。
 
 

[.forward] ファイルを使用してメールを転送する。 2010/02/21 更新

ユーザが自分のホームディレクトリ上のファイルを修正するだけで簡単にメールの転送ができますが、設定ミスによりメールのループが起こる可能性があります。 メールのループは最終的にエラー処理されますが、注意して設定しましょう。
設定手順
  1. .forward ファイルの変更。 無い場合は新しく作成する。
    $whoami
    kyler
    $ cd $HOME
    $ vi .forward
    緑:デフォルト、オレンジ:変更箇所
     
    \kyler ※1
    \kyler@mail.****.com. ※1
    derekr@mail.****.com. ※2
    # newaliases
    ※1 どちらか一方を記述する。 自分のメールアドレス (アカウント名でも可) を記載し、転送したメールをローカルに保存したい場合は、先頭に必ず 「\」 を記述する。 これは、 .forward により自分に転送されたメールが再び転送されることを防ぐためのものです。
    ※2 転送先のメールアドレス。 複数指定する場合は、カンマ区切りか改行し複数行に記述する。
    .forward によりメールループ (複数のユーザを巡り、再びメールが戻ってくる) となる設定は行わないようにしてください。
    最終的にはエラー処理されますが、無駄にメールサーバのリソースを消費してしまいます。