ラウンジのメールの送信者について

[上に] [前に] [次に]
Masaki [E-Mail] 1998/02/26(木) 19:45:47
ラウンジを設置しようと思いまして、いろいろやってみたのですが、回答をメールで受け取るをチェックするとメールの差出人がサーバーのアカウントになってしまいます(意味わかるだろうか)
自分が指定したメールアドレスで質問者にメールを送ることはできないのでしょうか?

とほほ 1998/02/27(金) 01:21:15
wwwlng.cgiの中に、
 print OUT "Subject: Tohoho Lounge\n";
という行があると思います。この行の前に
 print OUT "From: foo@xxx.yyy.zzz\n";
という行を追加してみてください。

とほほ 1998/02/27(金) 01:22:09
あっ、しまった。念のために、
  print OUT 'From: foo@xxx.yyy.zzz\n';
のように、シングルクォーテーションで囲ってください。

Masaki [E-Mail] 1998/02/27(金) 13:29:04
やってみました。が、こんどはメールの件名が(Non title)になって、
差出人が  ""info@abcde.co.jp \nSubject": Massage.Board@aaa.bbbbbb.net というようになってしまいました。
実際にはメールアドレスは本物をいれてありますがここではabcde aaaabbbbというふうにしてあります。
とほほさんのラウンジに書き込むときちんとしたアドレスで届くので、私の設定がおかしいのだとは思うのですが(涙)
とりあえずは今、メール返信のチェックボックスを削除していますのでなにか方法が有りましたら教えてください。
すいません。能力無いもので。というか、cgiの文法とか何も分からないでやってる私が間違いの元なのでしょうか?(笑)

B-Cus 1998/02/27(金) 14:46:47
どうしてとほほさんが、シングルクォートで囲んだください、と
おっしゃったのかがわからないのですが、ダブルクォート("")で
囲んでみてください。

 print OUT "From: foo@xxx.yyy.zzz\n";

こんなふうに。

Masaki [E-Mail] 1998/02/27(金) 19:14:06
ダブルにしてみました。    が、
インターナルエラー?になりました(悲)これは前にも何度かトライしてみましたが駄目でした。
ありがとうございます。皆さんのやさしさに感謝

miyasiro 1998/02/27(金) 19:29:55
print OUT 'From: foo@xxx.yyy.zzz';
print OUT "\n";
としてみて下さい。
全体をダブルで括ると、@xxxが配列と解釈されます。

B-Cus 1998/02/27(金) 20:27:40
あ、なるほどね〜。@をエスケープするためだったんですか。
気づかなかったっす。

どうしても一行で書きたかったら
 print OUT "From: foo\@xxx.yyy.zzz\n";
 print OUT 'From: foo@xxx.yyy.zzz'."\n";
とかね。

miyasiro 1998/02/27(金) 22:15:17
実は、とほほさんがシングルクオートでくくれと言った時点では、私もぜんぜん気がついてませんでした(^^;)。メールアドレスに使われる文字の中には、何かメタキャラクタになるものが含まれることもあるのだという程度にしか考えてませんでした(\nの件もすっかり見落としてました)。

それから、@の件なのですが(前から気になっていたのですが)、「Perl初心者の部屋」(http://www.bekkoame.or.jp/~syunji/perl/perlindx.html)の「Perl4 から Perl5への罠」に、perl5について、
>@ はダブルクォートされた文字列の中で常に配列を展開するようになりました。
> print "To: someone@somewhere.com\n";
>perl4 出力:
> To:someone@somewhere.com
>perl5 エラー :
> リテラルの @somewhere は今はバックスラッシュが必要です
という記述があって、perl4では、メールアドレスの@は特別扱いしてたようなのです。ただし、このperl4での特別扱いについての記述は今まで見た覚えがないので、いまだに?なのですが…
でも、今回は、Masaki さんがダブルではダメっておっしゃてるので、たぶん配列と解釈されたんだと思った訳です。

miyasiro 1998/02/27(金) 23:09:34
[追伸]手元のローカルのperl4とperl5を比べてみただけですが、perl4だと
print OUT "From: foo@xxx.yyy.zzz\n";
は、@xxx が未定義の場合には、リテラルとして出力するようです(従って、問題は生じない)。perl5だと即エラーになります。
とほほさんの「perl入門」でもperl4とperl5の違いの例としてこの@の件が挙がってるので、とほほさんはperl5対策としてシングルクオートにしたのでしょうね。

とほほ 1998/03/01(日) 13:08:56
ぴんぽーん。perl5対策で @ を生かそうとしたのですが、今度はその
代わりに \n を殺してしまいました。いーかげんな書き込みをしてし
まって、すんません。(^_^;)

[上に] [前に] [次に]