<!--
   $FML: mailmagazine.sgml,v 1.7 2005/06/25 13:54:39 fukachan Exp $
-->


<sect1 id="config.mailmagazine.1">
	<title>
	ケーススタディ: メールマガジン (1)
	</title>


<warning>
<para>
ここではメールヘッダによる認証しか取り上げていませんが、
安全のため、もっと厳しい設定をしてください。
</para>

<para>
たとえば、そもそもインターネット側に SMTP インターフェイスがないような
サーバの設定、およびサーバの設置場所の選定などを行なうべきです。
</para>

<para>
fml8 単体で処理できる
<link linkend="config.post.check.pgp">
PGP 認証
</link>
のほうがよい気がしますが、
メールマガジンの担当者が PGP/GPG を使える必要があります。 
ここが PGP 話のネックです。
</para>

</warning>


<para>
メールマガジンは投稿可能なメンバーリストをカスタマイズすることで行なえ
ます。
</para>

<para>
member_maps から $primary_member_map を抜き、
代わりに投稿可能なメンバーのリスト(ここでは 
$ml_home_dir/members-mailmag としましょう)を
member_maps を追加します。
<screen>
member_maps	=	$ml_home_dir/members-mailmag
</screen>
</para>

<para>
なお subscribe コマンドの利用方法はデフォルトのままで構いません。
<footnote>
<para>
fml 4.0 のように subscribe コマンドの仕方を変更するといったやり方
ではありません。
メンバーの認証方法を config.cf できめ細かくコントロールできるので、
それを使う方が、subscribe コマンドを変更するより簡単ですしね。
</para>
</footnote>
というのは subscribe や unsubscribe は primary_member_map や
primary_recipient_map に対する変更を加えるものだからです。一方、メンバー
認証時の探索にはmember_maps や recipient_maps を使うのです。よって、こ
れらの値をうまく設定すれば、こういった動作が可能というわけです。
</para>

<para>
この場合 subscribe したアドレスが members というファイル
(primary_member_map)に追加されていきますが、このファイルは認証時の探索
に使われない設定なので良いわけです。気にはなるかも知れませんが…
</para>

<para>
別解としては、逆に
<screen>
primary_member_map	=	$tmp_dir/members-dummy
</screen>
などとメンバーリストの新規分追加先を変更して闇に葬り、
membersには投稿可能なアドレスだけを書くというやり方もあります。
このほうが &fml4; 風で分かりやすいでしょうか。
</para>

</sect1>


<sect1 id="config.mailmagazine.2">
	<title>
	ケーススタディ: メールマガジン (2)
	</title>

<para>
2004/06 後半以降: キューイングシステムの改変により、「わざとエラーにし
てメールキューに落し、メールの中身を確認してから flush する(配送する)」
なんて技もできるようになりました。
</para>

<para>
これにより、まず一度送信し、キューに入れ、キューの中身を確認したのちに
配送をはじめることが出来ます。つまり間違った内容のメールを出す可能性が
低くなりえます。
</para>

<para>
設定は次のようにしてください。
</para>

<para>
config.cf では、次のように存在しないポートでも指定しておきます。
<screen>
smtp_servers = 無意味なトランスポート

[例]

smtp_servers = 127.0.0.1:2025
</screen>
こうしておくと、
記事を投稿したさいには配送エラーになり、
fml8 のメールキューに落ちます。
</para>

<para>
メールの中身や配送先を間違えなかったと確信があり、
配送して良いと判断した場合、
正しいトランスポートを指定してキューをフラッシュしてください。
<screen>
% fml -o smtp_servers=正しいトランスポート ＭＬ名 flushq

[例]

% fml -o smtp_servers=127.0.0.1:25 ＭＬ名 flushq
</screen>
ちなみに flush と flushq コマンドは同じ意味です。
flushq が打ちづらいので flush コマンドも作ってみました。
</para>

</sect1>
