FreeBSD 2.X についての FAQ (よくある質問とその答え) : システム管理 : ダイアルアップでインターネットに接続する環境でメールをセットアップするにはどうやるの?
Previous: UUCP で mail を配送するには sendmail をどう使えばよいのですか?
Next: しまった! root のパスワードを忘れてしまった!

8.19. ダイアルアップでインターネットに接続する環境でメールをセットアップするにはどうやるの?

静的に IP アドレスが割り当てられる場合は, デフォルトの状態を 変更する必要はありません. 割り当てられた名前をホストネームと するだけで, sendmail が後のことを引き受けてくれます.

ダイアルアップ ppp をインターネット接続に使用し, 動的に IP アドレスが割り当てられる場合は, インターネットサービスプロバイダ (ISP) のメールサーバにメールボックスがあるはずです. ISP のドメイン が myISP.com で, あなたのユーザ名が user だと仮定します. また, あなたが自分のマシンを bsd.home と呼んでおり, ISP が relay.myISP.com をメールリレーとして使用できると言っていると しましょう.

メールボックスからメールを取ってくるためには, retrieval (回収) エージェントをインストールする必要があります. Fetchmail は 多種多様なプロトコルをサポートしているのでお勧めです. ISP が 使用しているのは大抵 POP3 プロトコルです. ユーザ ppp を使用している場合, /etc/ppp/ppp.linkup に以下のように記述すると, インターネットと 接続が完了した時点で自動的にメールを取得するようになります.

        MYADDR:
          !bg su user -c fetchmail
      

この例では, userbsd.home にアカウントを持ち, bsd.home 上の user のホームディレクトリに, 以下のような .fetchmailrc ファイルがつくられていることを想定しています.

        poll myISP.com protocol pop3 fetchall pass MySecret;
      

言うまでもなく, このファイルは user 以外のユーザが読むことが 出来ないようにしなくてはなりません. 内容にパスワード MySecret が 含まれているからです.

正しい from: ヘッダをつけてメールを送るためには, sendmail に user@bsd.home ではなく user@myISP.com を使用するよう教える 必要があります. メールをより早く転送するために, 全てのメールを relay.myISP.com へ送るように sendmail に指示しておくのも良い でしょう.

上の要件を満たすには, 以下のような .mc ファイルが適しています.

        VERSIONID(`bsd.home.mc version 1.0')
        OSTYPE(bsd4.4)dnl
        FEATURE(nouucp)dnl
        MAILER(local)dnl
        MAILER(smtp)dnl
        Cwlocalhost
        Cwbsd.home
        MASQUERADE_AS(`myISP.com')dnl
        FEATURE(allmasquerade)dnl
        FEATURE(masquerade_envelope)dnl
        FEATURE(nocanonify)dnl
        FEATURE(nodns)dnl
        define(SMART_HOST, `relay.myISP.com')
        Dmbsd.home
        define(`confDOMAIN_NAME',`bsd.home')dnl
        define(`confDELIVERY_MODE', `deferred')dnl
      

.mc ファイルから sendmail.cf への変換方法については, 前のセクションを参照してください. sendmail.cf を更新した後に sendmail をリスタートするのもお忘れなく.


FreeBSD 2.X についての FAQ (よくある質問とその答え) : システム管理 : ダイアルアップでインターネットに接続する環境でメールをセットアップするにはどうやるの?
Previous: UUCP で mail を配送するには sendmail をどう使えばよいのですか?
Next: しまった! root のパスワードを忘れてしまった!