68user's page 掲示板

Prev< No. 2919〜2924> Next  [最新発言に戻る] [過去ログ一覧]
No. 2919 # みー [E-mail] 2002/10/27 (日) 17:33:09
はじめまして。さっそくなんですが質問です。
掲示板CGIを改造してメール送信機能をつけたのですが、改行が反映されていなかったり、題名が文字化けしたりしてます。
ソースはhttp://www.starcity.ne.jp/~hide/0test/treebbs+.txtです。
元はhttp://www.starcity.ne.jp/~hide/0test/treebbs-.txtです。
#------------------メール送信機能-------------------------#
open(MAIL,"| /usr/sbin/sendmail -t") || &error("送信できません。");
print MAIL <<"_MAIL_";
From: ars\@xx.xx
To: hide_mkhs\@yahoo.co.jp
MIME-Version: 1.0
Subject: A-train railway service
X-Mailer: Sendmail
Content-type: text/plain; charset=ISO-2022-JP
Content-Transfer-Encoding: 7bit

投稿がありました。
名前:$name
題名:$subject
メールアドレス:$mail
ホームページ:$url
メッセージ:$msg
---------------------------------------
投稿者情報
IP:$ip
ホスト:$host
---------------------------------------
A-train railway service(http://www.starcity.ne.jp/~ars/)
_MAIL_
close(MAIL);
#--------------------メール送信機能------------------------#
こう書き加えたんですが…
いま題名はA-train…ですが、日本語にすると文字化けしてしまい、来たメールは
投稿がありました。
名前:みー
題名:新規
メールアドレス:ars@starcity.ne.jp
ホームページ:http://www.starcity.ne.jp/~ars/
メッセージ:<b>タグは‥?</b>どうでしょう?
---------------------------------------
投稿者情報
IP:218.133.200.111
ホスト:YahooBB218133200111.bbtec.net
---------------------------------------
A-train railway service(http://www.starcity.ne.jp/~ars/)
のように改行が反映されてなく、タグもみえみえです。しかも、レスの記号をあらわす">"は&gt;となってしまいます。

どうすればいいのか教えてください。

No. 2920 # ふくし 2002/10/29 (火) 02:10:19
>>2919 みー
メールは HTML じゃなくてプレーンテキストなので、
タグが見え見えだったり改行がそのままだったりするんでしょう。
HTML 形式を維持するなら
HTML メールをサポートしてるメーラーに
HTML 形式のメールを送ればいいんじゃないでしょうか。
(その場合ヘッダはどうなるんでしょうね。
    よくわかりません。よく広告とかで壁紙がついてきたりするから、
    できることはわかっているのだが、、)
題名が文字化けなのは、ISO-2022-JP を正しく読み込んで
ないからでしょう。ブラウザーが送ってくる文字はさまざまなので、
jcode.pl あたりで変換するとか。

No. 2921 # yuk 2002/10/30 (水) 11:50:10
こんにちは。
ちょっとわからないことが有ります。
ご存知の方は教えていただけますでしょうか。
cshで、

set str = "abc def" (←abcとdefの間は全角スペース)
echo $stf

とすると、

abc def (←abcとdefの間は半角スペース)

と表示されてしまいます。
なんとかsetで設定した通りに(全角スペースをそのままに)出力したいのですが、
どのようにすれば良いでしょうか?

No. 2922 # yuk 2002/10/30 (水) 11:52:39
>>2921(訂正)

echo $stf
ではなく
echo $str
でした。

No. 2923 # 68user 2002/11/01 (金) 22:50:29
>>2917 G
> 下記のスクリプトはHP-UXの/etc/rc.configファイルなのですが,
> ${CFG_FILE##*/}と${fname##*[.,~\#]}の解読ができません。
HP-UX の sh は知りませんが、FreeBSD の sh では
          ${parameter##word}
                          最長前置パターンの削除: まず word が展開され、その結果をパターン
                          として扱います。パラメータ parameter の左から、パターンに一致する
                          最長の部分を削除した文字列に置換されます。
とあるので、多分同じでしょう。

> ${CFG_FILE##*/}
basename(1) と同じでしょうね。

> ${fname##*[.,~\#]}" = "$fname"
ファイル名に . , ~ # が含まれていないことをチェックしている
のだと思います。

こういう場合は sh -x /etc/rc.config などとして、どういう
ふうに解析されているのかを調べるというのも一つの手です。

>>2921 yuk
> abc def (←abcとdefの間は半角スペース)
> と表示されてしまいます。
そういう処理をする csh があるとは知らなかったので、OS 名を
教えてください。で、本題ですが echo "$str" でいけるんじゃ
ないでしょうか。

No. 2924 # G 2002/11/06 (水) 13:47:19
2923>
ご返答ありがとうございました。
sh -x コマンドは初めて知りました。
これから活用させていただきます。

Prev< No. 2919〜2924> Next  [最新発言に戻る] [過去ログ一覧]