Index: [Article Count Order] [Thread]

Date:  Thu, 17 Aug 2000 19:06:30 +0900
From:  firo <firo@....jp>
Subject:  [XP-jp:00740] Re: VXP ストーリー1タスク案
To:  extremeprogramming-jp@....jp (extremeprogramming-jp ML)
Message-Id:  <00Aug17.190731jst.115203@....jp>
References:  <00Aug14.174458jst.115202@....jp>		<20000816.165255.46640522.u90156@....jp>		<00Aug17.130418jst.115202@....jp> <20000817.160015.98606834.u90156@....jp>
Posted:  Thu, 17 Aug 2000 19:07:30 +0900
X-Mail-Count: 00740

矢崎です。

Yuji Yamanoさん wrote:

>
> > ホソカワさんご提案のMailerクラス(これは入力用と出力用にわけ
> > なくてもいいのでしょうか?)だけでいいような気もしますが。
>
> まず、Mailer クラスだけでよいかどうかですが、Mailer がおこなうのは、
> メール本文と配送先のアドレス(/etc/aliases に書かれたもの、実際の配送
> 先アドレスへの展開は sendmail がおこなう)を使い、sendmail を起動する
> ことです。
>
> そのままクラスになるのかどうかは別にして、メール本文と配送先のアドレス
> は必要になりませんか?
>

それは、こういう意味でしょうか?

1.Mailerが引数で受け取ったアドレス(メンバから見て送信先
  のアドレス)を、配送先のアドレスに変換する。この配送先
  のアドレスは/etc/aliasesに登録されていて、実際のメンバ
  へのアドレスへの展開は、sendmailが行う。

2.1で送信先アドレスから配送先アドレスへの変換のための対応
  表が、テキストファイル上にあるので、それを読んで、1の
  変換処理を行う必要がある。

さて、以上が正しいとして、以下のようなCRCを考えてみました、、

1.Mailerがメール本文と送信先アドレスを取得する。
  ##ここいらへんは、よく知らないのですが、メール本文はMailer
    の標準入力から取得し、送信先アドレスは引数で受け取ること
    になるのでしょうか?

2.Mailerは、AddressMap(仮称)をnewし(あるいは既に起きて
  いるかもしれませんが)、次に送信先アドレスから配送先アドレ
  スへ変換する処理を依頼する。

3.AddressMapは対応表を読みこみ(あるいは、既に読み込み済み
  で、キャッシュしているもの)、送信先アドレスから配送先アド
  レスをつきとめ、それをreturnする。

4.Mailerは、Mailインスタンスをnewし、本文および配送先アドレ
  スをMailインスタンスにセットする。

5.MailerはMailインスタンスに、出力を依頼する。

6.Mailインスタンスは、自分の情報をsendmailの標準入力?に書き
  出す。
    #この時、sendmailを起動する必要があるのでしょうか?

5と6は
  ・Mailが返したテキストをMailerが出力する。
  ・MailがMailerのポインタを受け取り整形後、Mailerへ出力を
   依頼する。。等
  いくつか代案がありそうです。

えーと、勘違い部分へのご指摘も含めて、ご批判、ご代案、ご教示お
願いします。


>
> 次に、入出力をわけるかどうかです。非 XP 的ですが:-p、将来、メールの配送
> 系まで自前で作る事を考えるのであれば、入力用と出力用をわけたほうがいい
> でしょうね。(qmail 的ですが)
>

私はそこまで考えていなくて、単に入力と出力をいっしょにしたほう
がよいか、分けたほうがよいか、、くらいしか頭にありませんでした(^^;;。


>
> でも、最初のイテレーションですし、このあたりを作りなおしてもたかが
> しれているので、とりあえず入出力をわけずに作ってみるのはどうでしょうか?

御意です。


--
矢崎博英  firo@....jp