Setup Ubuntu Server


SMTPサーバ(送信)

[途中]

送信を可能にするためには考えないとならないことがたくさんある。もっとも簡単な送信は相手のメールサーバに接続してそのまま送信する方法だが、そとの世界の25番ポートへの接続がプロバイダによりブロックされる場合がある。その場合はプロバイダの提供するSMTPサーバにお願いすることになる。しかしこの場合もいろいろな制限がかけられている場合がある。例えばsenderのメールアドレスがプロバイダのメールアドレスでないと送れない場合がある。しかし認証を通せば送れたりする場合もある。

またメール送信の際はポート25の代わりに587(submittion)を使うことも多い。この場合メーラーが

ここでは、以下のようなシナリオでpostfixを設定する。まずSASLを使って認証を有効にする。つぎに送信する場合は直接接続する。直接続できない場合はプロバイダのSMTPにお願いしなければならないがここではそれは考えないでおく。というのはプロバイダの認証情報をサーバにおいて置きたくないからだ。

_ SASLとは

SMTPプロトコルにはそれ自体に認証機能を持っていないが、RFC2554の拡張によってSASLを使った認証ができる。MUA(メーラー)がMTA(メールサーバ)にアクセスした際、MTAは利用可能な認証方法を提供し、MUAはその中から自分が使える認証方式をつかってユーザ名とパスワードを送信する。ユーザ名とパスワードを受け取ったMTAはそれをUNIXパスワードや他の方法を使って認証の確認をする。

よって、SASLの設定の際はどのような認証方式(Authentication Mechanism)を使うのかの設定と、それをどこを見て確認するか(Authentication Framework)を設定しなければならない。

_ saslauthd

postfixはpostfix用のユーザ名で動いているのでこの権限ではUNIXパスワードの確認ができない。そこでSASLではrootでsaslauthdを動かして、認証確認を依頼する。

_ /etc/sasldb2

UNIXパスワードを使わない場合は自分でアカウントファイルを作らなければならない。saslpasswd2コマンドがこれを行う。

_ アドレスクラス

local, virtual alias, virtual mailbox, relay

_ local

ドメイン名がmydestinationのもの。aliasと.forwardも調べる。

_ virtual alias

ドメイン名がvirtual_alias_domainsのもの。他のアドレスに転送される。virtual_alias_mapsにユーザとアドレスが記述されており、そこに転送される。

_ virtual mailbox

ドメイン名がvirtual_mailbox_domainsのもの。virtual_mailbox_mapsにユーザとメールボックスが記述されており、そのメールボックスに入れられる。

_ relay

ドメイン名がrelay_domains parameterのもの。他のsmtpにリレーされる。

_ それ以外のもの

認証されていれば受け入れられリレーされる。

 
Link: MenuBar(29d)
Last-modified: 2008-11-11 (火) 02:41:10 (3203d)