2014-06-15

概要

Sendmailとの互換性があり、設定が比較的容易なフリーのMTA
IBM Weitse Z.Venema氏が開発した

インストール

RPMパッケージからインストール

#sh(bash){{

yum install postfix

}}

インストールされるファイル

/etc/init.d/postfix制御スクリプト
/etc/postfix/main.cfメイン設定ファイル
/usr/libexec/postfix/master中心となるプログラムでPostfix起動後常駐する
/usr/sbin/postalias/etc/aliasesからaliases.dbを作成するプログラム
/var/spool/postfixメールキューが保存されるディレクトリ

また、専用のユーザpostfixが作成される

uid=89(postfix) gid=89(postfix) 所属グループ=89(postfix),12(mail)

Sendmailと切り替え

Sendmailがあらかじめインストールされている環境では、パッケージをインストールしただけではPostfixがメインのMTAとして利用されない場合があり、明示的にMTAを使うように指定してやる必要がある

#sh(bash){{

alternatives --config mta

}}

2 プログラムがあり 'mta' を提供します。

  選択       コマンド
-----------------------------------------------
*+ 1           /usr/sbin/sendmail.sendmail
   2           /usr/sbin/sendmail.postfix

Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:

sendmail.postfixの番号を入力しEnterを押す

設定

メイン設定の編集

一般的に編集する項目

設定項目内容設定例
myhostnameメールサーバのホスト名 FQDNmail.example.com
mydomainメールサーバの所属するドメインexample.com
myoriginメールサーバが送信するときにFromにするアドレス$myhostname
inet_interfacesPostfixが利用するインタフェースでlocalhostやIPアドレスでの指定もできる デフォルトはallall
inet_protocols通信で利用するプロトコル ipv6やipv4が指定できるall
mydestinationローカルユーザに配送するメールの@以降のドメイン$myhostname, localhost.$mydomain, localhost, $mydomain
mynetworks_style信頼できるネットワークの種類 クラスやサブネット、ホストで指定可能で、デフォルトではサブネットhost
mynetworks所属するネットワーク127.0.0.1/32
home_mailboxメールを保存する形式 MailboxとMaildir形式があるMaildir

設定例
(上で取り上げたもの以外は掲載を割愛している)

#sh(bash){{

myhostname = mail1.icicleforest.com
mydomain = icicleforest.com
myorigin = $myhostname
inet_interfaces = all
inet_protocols = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

mynetworks_style = host
mynetworks = 49.212.163.34/32 127.0.0.1/32

home_mailbox = Maildir/

}}

MailboxとMaildir

Mailbox形式は、一般的に使われる/var/spool/mail以下にユーザ名のファイルが作成され、そこに受信したメールが追記される形式のこと
1ファイルで管理されることが特徴

Maildir形式は、$HOME/Maildirが作成され、そこに1メール1ファイルで保存される形式のこと

postconf

Postfixの設定ユーティリティ

h $_name_param設定項目$_name_paramの値を表示する

#sh(bash){{

postconf -h queue_directory

}}

virtual alias

受取人のアドレスを別のローカル、仮想的、もしくは別の宛先に書き換える機能。
aliasがローカルアドレスのみであるが、virtual aliasはそうではない。
メールがPostfix Cleanupデーモンによってキューイングされる前に処理される。

user@domain address, address, ...
user@domain宛のメールをaddressにリダイレクトする。
(非常によく使われるもの)

user address, address, ...
user@site宛のメール(siteはmyoriginやmydestinationと等しい)をaddressにリダイレクトする。

@domain address, address, ...
domainのユーザ宛のメールをaddressにリダイレクトする。

transport

Emailアドレスによってどこに転送するかを分ける機能。
trivial-writeデーモンによってtransportの内容が検索される。

ログ

ログのフォーマット

#sh(php){{

$_date $_time $hostname postfix/$_action[$_action_number]: $_mail_id: $_message

}}

  • status=sent 配送OK
  • status=bounce 配送NG
  • status=deferred 一時的に配送できなかったがリトライ

ローカル配送

ローカルのユーザに向けてメールを保存する場合

Aug 25 15:05:04 www14260ue postfix/pickup[17277]: DE25356279B: uid=1000 from=<root>
Aug 25 15:05:05 www14260ue postfix/cleanup[18089]: DE25356279B: message-id=<20140825060504.DE25356279B@mail01.icicleforest.com>
Aug 25 15:05:05 www14260ue postfix/qmgr[30387]: DE25356279B: from=<root@mail01.icicleforest.com>, size=997, nrcpt=1 (queue active)
Aug 25 15:05:05 www14260ue postfix/local[18110]: DE25356279B: to=<wwwadmin@mail01.icicleforest.com>, orig_to=<wwwadmin>, relay=local, delay=1.2, delays=0.92/0.3/0/0.01, dsn=2.0.0, status=sent (delivered to maildir)
Aug 25 15:05:05 www14260ue postfix/qmgr[30387]: DE25356279B: removed

グローバル配送

他のSMTPサーバに向けてメールを転送する場合

Aug 25 16:07:08 www14260ue postfix/pickup[17277]: 3C26C56279B: uid=0 from=<root>
Aug 25 16:07:08 www14260ue postfix/cleanup[8690]: 3C26C56279B: message-id=<20140825070708.3C26C56279B@mail01.icicleforest.com>
Aug 25 16:07:08 www14260ue postfix/qmgr[30387]: 3C26C56279B: from=<root@mail01.icicleforest.com>, size=476, nrcpt=1 (queue active)
Aug 25 16:07:11 www14260ue postfix/smtp[8692]: 3C26C56279B: to=<icicleforest@hotmail.co.jp>, relay=mx4.hotmail.com[65.54.188.72]:25, delay=3.1, delays=0.47/0.09/1.5/1, dsn=2.0.0, status=sent (250  <20140825070708.3C26C56279B@mail01.icicleforest.com> Queued mail for delivery)
Aug 25 16:07:11 www14260ue postfix/qmgr[30387]: 3C26C56279B: removed

テスト

#include(): No such page: Postfix/2.6/Test

トラブルシューティング

Hotmailに送信できない

Hotmailでは送信元IPでスパム扱いするようで、基本的にさくらインターネットなどのサービスのグローバルIPはスパム扱いされている
そのため、専用のお問い合わせフォームからスパム扱い停止申請を上げる[*1]

リンク

  1. Satake Studiok, LPC:hotmailから拒絶を食らった場合の解決法
  2. Postfix設定パラメータ:Postfix main.cf ファイルフォーマット
  3. Postfix基本設定

関連ページ


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-03-14 (火) 23:11:39