新規記事投稿 フォロー記事投稿 記事のキャンセル
From: にあ <nir@mxa.meshnet.or.jp>
Subject: Re: CGIからメール送信・・・の、ヘッダに関する質問
Date: 1998/05/15 04:23:28
Reference: mesh.program/00493

5月15日に、でんでんさんは書きました。

>Cc:ヘッダなどで、複数の宛先を指定したい場合、どういうふうに
>出力してやればいいのでしょうか?
>
カンマ(",")で区切って複数の宛先を書けば良いです。

...って、きっとそう言うことを聞きたいのじゃ無いですよね。(^^;


多分聞きたいことは...

Q. Cc: に沢山のアドレスを書くと行がとても長くなってしまうのですが?

A. 任意の空白の所で継続行の処理が出来ます。例えば、

Cc: user1@host1.domain1, user2@host2.domain2, user3@host3.domain3

は

Cc: user1@host1.domain1,
	user2@host2.domain2,
	user3@host3.domain3

の様にfoldする事が出来ます。

...とか

Q. To: や Cc: に書いたアドレスにメールが配送されないんですが?

A. sendmail を使っている場合、実際に配送されるアドレス(エンペローブに書かれる
宛先アドレス)とメール本文に書かれる宛先アドレスとは独立した処理になっています。

例えば、

/usr/lib/sendmail user1@host1.domain1 user2@host2.domain2 user3@host3.domain3

として実行すれば、本文中の To: や Cc: に関わり無く、3人に送られます。
本文中のTo: や Cc:、Bcc: を解釈してそこに送りたいなら、

/usr/lib/sendmail -n -t

としてコマンドラインでは宛先を付けずに呼び出します。
またCGI等で固定の宛先ではなく、変数で指定できる宛先に送る場合に、

/usr/lib/sendmail $email

等としてしまうと、重篤なセキュリティホールになってしまいますので、必ず、
本文中の宛先を解釈するモードを使って送り、任意文字列が sendmail の引数として
渡らないようにして下さい。
# 送り先を本文中に見せたくない場合には Bcc: を活用しましょう。

...とかでは無いでしょうか?