SetHeader/AddHeader の使い方No.39546
oqqu さん 10/11/16 00:05
 
編集中のメールに既に"To" ヘッダがあって、
さらに宛先を追加する場合、

$s=dllfuncstr("AddHeader","To","abc@xyz");

とやるのか、

$s=dllfuncstr("SetHeader","To",dllfuncstr("CurrentHeader","To")+",abc@xyz");

とやるのか、

どちらが適当でしょうか?

あるいはもっといい方法があるのでしょうか?

前者の場合、この処理を繰り返すと、Toヘッダがいくつもできて
見苦しくなります。
また、複数のToヘッダをメールサーバが処理してくれるのか
不安があります。

後者の場合、既にToヘッダに書きこまれている量が多すぎると、
「文字列が長すぎます」のエラーが出てしまいます。


具体的には、
送付先アドレスの一覧をテキストファイル等で用意しておき、
FindBookでアドレス帳に登録している「名前+Email」の
形式でToにセットする、
というマクロを考えています。
送付先は最大500くらいを考えているのですが...

[ ]
RE:39546 SetHeader/AddHeader の使い方No.39548
秀まるお2 さん 10/11/16 10:04
 
 AddHeaderするやり方でもSetHeaderするやり方でもどっちも正しいと思います
が、文字列が長すぎて秀丸マクロの制限オーバーになってしまうのでしたら、
AddHeaderするやり方にするしか無いんじゃないかと思います。

> また、複数のToヘッダをメールサーバが処理してくれるのか
> 不安があります。

 To:ヘッダが大量にあるから処理してくれないということもは普通無いと思い
ます。逆に、To:ヘッダの長さが極端に長い方が問題がある場合もありえるかも
しれません。どっちにしても極端に大量のメールアドレスをTo:ヘッダに入れて
送信するのは、メールサーバーだけじゃなくて、メールクライアントにも負荷テ
ストをするような状況にはなると思います。

 メールサーバーによっては、そういう、極端に大量の宛先があるメールは送信
出来ない場合もあるだろうし、受け取り側のサーバーが拒否するケースもあるか
もしれないで。実際送ってみないと届くかどうか分からないと思います。

[ ]